Messages in this thread | | | Date | Thu, 27 Mar 2008 04:03:34 -0700 (PDT) | Subject | Re: [Bugme-new] [Bug 10326] New: inconsistent lock state in net_rx_action | From | David Miller <> |
| |
From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Thu, 27 Mar 2008 11:56:19 +0100
> How about this: > > <irqs disabled> > > netpoll_poll() > poll_napi() > spin_trylock(&napi->poll_lock) > poll_one_napi() > napi->poll() := sky2_poll() > napi_complete() > local_irq_disable() > local_irq_enable() <--- *BUG* > > <irq> > irq_exit() > do_softirq() > net_rx_action() > spin_lock(&napi->poll_lock) <--- Deadlock! > > Because we still hold the lock....
Yep, that will deadlock.
Can some test if using local_irq_{save,restore}() in napi_complete() cures this lockdep warning?
Thanks.
| |