Re: locking issue (hardirq+softirq+user)



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/