Re: [PATCH net-next 16/16] sfc: Don't receive packets when the napi budget == 0
From: David Miller <davem@davemloft.net>
Date: 2014-03-15 16:28:21
From: David Miller <davem@davemloft.net>
Date: 2014-03-15 16:28:21
From: Ben Hutchings <redacted> Date: Sat, 15 Mar 2014 15:23:34 +0000
On Fri, 2014-03-14 at 18:11 -0700, Eric W. Biederman wrote:quoted
Processing any incoming packets with a with a napi budget of 0 is incorrect driver behavior. This matters as netpoll will shortly call drivers with a budget of 0 to avoid receive packet processing happening in hard irq context.But this also prevents handling TX completions, at which point you may as well change efx_netpoll() to a no-op. And then, does it make sense to implement ndo_poll_controller at all? Note that sfc does have a module parameter to enable separate RX and TX completions so they could be polled separately, but it is disabled by default.
TX completions should run unconditionally, irregardless of the given budget. This is how I have coded all of my drivers, and I how I tell others to do so.