Re: lockdep and threaded IRQs (was: ...)
From: David Brownell <hidden>
Date: 2009-03-02 21:37:37
Also in:
lkml
On Monday 02 March 2009, Peter Zijlstra wrote:
On Mon, 2009-03-02 at 13:04 -0800, David Brownell wrote:quoted
On Monday 02 March 2009, Peter Zijlstra wrote:quoted
IRQF_DISABLED is bonkers,Hmm, after all the work that's been done to get Linux to the point where *most* drivers run without IRQs
Typo: "drivers run *with* IRQs enabled". Not "without". Should be evident from context.
quoted
enabled ... that sentiment surprises me. And I suspect it would surprise most driver developers.How so?, its the natural extension of that work.
Not the work to shrink the amount of time IRQ latencies by shrinking the amount of time IRQs are disabled by IRQ handlers.
quoted
quoted
we should simply always disable interrupts for interrupt handlers.That would be why you have refused to fix the bug in lockdep, whereby it forcibly enables that flag? I've been wondering for some months now why you've left that bug unfixed.Because running irq handlers with irqs enabled it plain silly.
Not if you have hardware-prioritized IRQs, which are fairly common in some environments ... handling an IRQ for high priority device A needn't interfere with the handler for lower priority device B, and the system overall can work better. Not if you need to shrink IRQ latencies by minimizing irqs-off critical sections everywhere ... IRQ handlers being common offenders for keeping IRQs off too long. Not when IRQs can be disabled selectively around the real critical sections ... so drivers can leave IRQs enabled except in those brief sections.