Re: [PATCH] macb: Add support of the netpoll API

Haavard Skinnemoen
2009-04-17T09:07:12Z

David Miller wrote:
> And in response to this Haavard explained the potential deadlock
> (sorry I deleted that email) and suggested to use local_irq_save()
>
> But that won't work either, because it doesn't prevent the interrupt
> handler from running on other cpus, it only prevents that on the
> local cpu.

The interrupt handler takes bp->lock. Isn't that sufficient to prevent
it from running on other cpus?

If you do local_irq_save() around the interrupt handler, the end result
will be identical to spin_lock_irqsave(), which is what the other
(non-interrupt) parts of the driver use.

Or am I misunderstanding something?

Haavard