Re: Is it possible to implement interrupt time printk's reliably?

From: Jon Smirl
Date: Sun May 09 2004 - 11:34:34 EST


So how do printk's work in the very early boot? Is the video card active before
the kernel probes it's module, or are these very early printk's being queued
until the video driver is probed?

--- Andrew Morton <akpm@xxxxxxxx> wrote:
> Jon Smirl <jonsmirl@xxxxxxxxx> wrote:
> >
> >
> > --- Andrew Morton <akpm@xxxxxxxx> wrote:
> > > Jon Smirl <jonsmirl@xxxxxxxxx> wrote:
> > > >
> > > > > If you're in process context you can use acquire_console_sem(), which
> will
> > > > > serialise against printk.
> > > > >
> > > >
> > > > Won't I deadlock if I have acquire_console_sem(), take an interrupt, and
> > > then a
> > > > printk is issued from the interrupt handelr?
> > > >
> > >
> > > Nope. If printk finds the semaphore to be held it queues up the
> characters
> > > and returns without printing them. The console_sem-holding process will
> > > print the newly buffered characters before releasing the semaphore.
> >
> > Is this solution sufficient for kernel developers wanting to use printk from
> > interrupt handlers? I've gotten negative feedback from Linus when I
> suggested
> > queuing them before.
> >
>
> It has been this way for several years.


=====
Jon Smirl
jonsmirl@xxxxxxxxx




__________________________________
Do you Yahoo!?
Win a $20,000 Career Makeover at Yahoo! HotJobs
http://hotjobs.sweepstakes.yahoo.com/careermakeover
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/