Re: net_rx_action/NAPI oops [PATCH]
From: Kok, Auke <hidden>
Date: 2007-11-27 22:35:10
Stephen Hemminger wrote:
On Tue, 27 Nov 2007 19:52:24 +0100 Robert Olsson [off-list ref] wrote:quoted
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