-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Dirk Vogt wrote:
On Fri, 2010-02-26 at 22:08 +0800, Da Zheng wrote:
In Linux local_irq_save() disables irqs in the local processor, so if the hard IRQ handler tries to raise softirq, it is guaranteed that the softirq thread will not be scheduled to run, and vice versa. How would that work on a SMP machine?
Correct me if I am wrong, but i think even on native Linux the hard IRQ handler and the soft IRQ handler could run on the same time (on two different processors) as only *local* interrupts are disabled.
Christian just pointed out that the raised softirq is required to run on the CPU the Hard-IRQ was raised on, although I can't find a resource on that right now.
So, if this is the case, Da Zheng might have found a lingering bug. Thanks, we'll check that.
Bjoern