Messages in this thread | | | Date | Fri, 19 Apr 2002 12:51:30 -0700 | From | Dan Kegel <> | Subject | Re: printk in init_module mixing with printf in insmod |
| |
Russell King wrote: > > On Fri, Apr 19, 2002 at 11:39:44AM -0700, Dan Kegel wrote: > > I suppose this isn't terribly important, since printk's are > > kind of a no-no in production, and this only affects printk's > > in init_module, but it'd be nice to know what > > the cleanest way to get rid of the mixing is. Adding a sleep > > inside insmod seems heavyhanded. I suppose I could redirect > > insmod's output to a file, sleep a bit, and then display the > > file... bleah. > > Output from a program to a serial port is buffered, and is thus > asynchronous to the program. printk output is synchronous, and as > such will interrupt the normal IO to the port. > > If you're going to use delays, you need to take account of the serial > port baud rate and adjust the delay accordingly. However, you don't > really know how many characters are pending in the kernel anyway.
Thanks for the info.
For now, I'm just kludging in a sleep(1) in insmod right after the print, as a temporary fix for my particular needs. Saves me editing lots of source files, and it "works" for this particular situation.
> I don't think there's an answer to this if you're going to run both > applications and kernel console on the same port.
insmod is run by /etc/init.d/rcS, so it's kind of unavoidable. But I'm happy with my little private kludge for now. - Dan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |