Messages in this thread | | | Date | Wed, 3 Oct 2007 09:15:26 -0700 | From | Stephen Hemminger <> | Subject | Re: [PATCH] net: fix race in process_backlog |
| |
On Wed, 03 Oct 2007 17:44:53 +0200 Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> Subject: net: fix race in process_backlog > > The recent NAPI rework (4fa57c9ea9f36f9ca852f3a88ca5d2f1aebbc960) > introduced a race between netif_rx() and process_backlog() which > resulted in softirq processing to drop dead. > > netif_rx() process_backlog() > > irq_disable(); > skb = __skb_dequeue(); > irq_enable(); > > irq_disable(); > __skb_queue_tail(); > napi_schedule(); > irq_enable(); > > if (!skb) > napi_complete(); <-- oops! > > we cleared the napi bit, even though there is data to process. > > Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Stephen Hemminger <shemminger@linux-foundation.org>
-- Stephen Hemminger <shemminger@linux-foundation.org> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |