Re: locking issue (hardirq+softirq+user)

From: Arjan van de Ven
Date: Wed Dec 20 2006 - 08:50:38 EST


On Wed, 2006-12-20 at 14:35 +0100, Jiri Slaby wrote:
> Hi!
>
> an user still gets NMI watchdog warning, that the machine deadlocked.

have you tried enabling LOCKDEP ?


> isr() /* i.e. hardirq context */
> {
> spin_lock(&lock);
> ...
> spin_unlock(&lock);
> }

this is ok if you are 100% sure that this never gets called in any other
way

>
> timer() /* i.e. softirq context */
> {
> unsigned int f;
> spin_lock_irqsave(&lock, f) /* stack shows, that it locks here */

this is a bug, the flags are an "unsigned long" not "unsigned int"!
It may do really bad stuff!

Greetings,
Arjan van de Ven

--
if you want to mail me at work (you don't), use arjan (at) linux.intel.com
Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org

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