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

From: Jon Smirl
Date: Fri May 07 2004 - 08:37:04 EST


--- Andrew Morton <akpm@xxxxxxxx> wrote:
> Jon Smirl <jonsmirl@xxxxxxxxx> wrote:
> >
> > Problem:
> > 1) Some operations on graphics cards cannot be stopped once they are
> started.
> > It's not reasonable to turn interrupts off around these operations.
> > 2) Kernel developers want console printk's to work from interrupt routines.
> >
> > How do you fix this situation?
>
> Really you should use spin_lock_irqsave() on some driver-private lock
> around the operation. Why is it not reasonable to disable irq's?
> Duration, presumably?

The operations take a while and would ruin latency. You might be copying 8MB of
data.

> 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?


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