Thread (26 messages) 26 messages, 16 authors, 2007-10-27

Re: [PATCH 1/2] irq_flags_t: intro and core annotations

From: Arnd Bergmann <arnd@arndb.de>
Date: 2007-10-22 21:35:34
Also in: lkml

On Monday 22 October 2007, Andrew Morton wrote:
It's almost always a bug to do spin_lock_irq() when local interrupts are
disabled.  However iirc when we've tried to add runtime debugging to catch
that, it triggered false-positives which made the idea unworkable.  I forget
where.
I tried this as well a few years ago, and I think I hit a few places in
the early initialization, but nothing unfixable.
However what we could do is to add a new
spin_lock_irq_tell_me_if_i_goofed() which would perform that runtime check. 
How about the opposite? We could have a raw_spin_lock_irq() in places where
there are valid uses of spin_lock_irq() with irqs disabled and the same
for spin_unlock_irq with interrupts already enabled.

I can try to come up with a new implementation, including some rate-limiting,
which I think my first attempt was missing.

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