Subject: Re: net_rx_action/NAPI oops [PATCH]

From: "Kok, Auke" <[email-masked]>
Date: Tue, 27 Nov 2007 14:34:44 -0800

Stephen Hemminger wrote:
> On Tue, 27 Nov 2007 19:52:24 +0100
> Robert Olsson <[email-masked]> wrote:
> 
>> Hello!
>>
>> I've discovered a bug while testing the new multiQ NAPI code. In hi-load 
>> situations when we take down an interface we get a kernel panic. The
>> oops is below.
>>
>> From what I see this happens when driver does napi_disable() and clears
>> NAPI_STATE_SCHED. In net_rx_action there is a check for work == weight 
>> a sort indirect test but that's now not enough to cover the load situation. 
>> where we have NAPI_STATE_SCHED cleared by e1000_down in my case and still 
>> full quota. Latest git but I'll guess the is the same in all later kernels.
>> There might be different solutions... one variant is below:
> 
> It is considered a driver bug in 2.6.24 to call netif_rx_complete (clear NAPI_STATE_SCHED)
> and do a full quota. That bug already had to be fixed in other drivers,
> look like e1000 has same problem.

Stephen,

please enlighten me, can you e.g. show me a commit of other drivers where you
fixed this up?

Thanks,

Auke