Thread (96 messages) 96 messages, 12 authors, 2009-07-22

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.
 

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help