Re: Help with 2.6.10 concurrency issue
From: Robert Hancock
Date: Thu Feb 09 2006 - 19:45:21 EST
martin rogers wrote:
Problem is, the function writeList can be called from a H/W intr,
and a workqueue (and that intr could of course happen while either
the workqueue or the tasklet is running, right?).
If I use spin_lock_irqsave in writeList, it protects against the intr
but not the tasklet.
Yes, it protects against the tasklet as well. Disabling interrupts also
implicity disables BH execution (tasklets).
If I use spin_lock_bh, I don't get protection
from the intr I think; plus, I get :
Badness in local_bh_enable at kernel/softirq.c:142
when the intr runs (what does this mean?).
It means you're enabling BHs when interrupts are disabled, which doesn't
make any sense. You can't use spin_lock_bh/spin_unlock_bh when
interrupts are disabled.
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/
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/