Re: printk in init_module mixing with printf in insmod

Dan Kegel (dank@kegel.com)
Fri, 19 Apr 2002 12:51:30 -0700


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/