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

From: Andrew Morton
Date: Fri May 07 2004 - 15:06:15 EST


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.
-
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/