Re: [patch 02/61] lock validator: forcedeth.c fix

From: Manfred Spraul
Date: Wed May 31 2006 - 01:42:26 EST


Andrew Morton wrote:

On Mon, 29 May 2006 23:23:13 +0200
Ingo Molnar <mingo@xxxxxxx> wrote:



nv_do_nic_poll() is called from timer softirqs, which has interrupts
enabled, but np->lock might also be taken by some other interrupt
context.



But the driver does disable_irq(), so I'd say this was a false-positive.

And afaict this is not a timer handler - it's a poll_controller handler
(although maybe that get called from timer handler somewhere?)



It's both a timer handler and a poll_controller handler:
- if the interrupt handler causes a system overload (gig e without irq mitigation...), then the nic disables the irq on the device and waits one tick and handles the interrupts from a timer. This is nv_do_nic_poll().

- nv_do_nic_poll is also called from the poll_controller handler.

I'll try to remove the disable_irq() calls from the poll_controller handler, but probably not before the week-end.

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