Since commit 364b6055738b ("net: busy-poll: return busypolling status
to drivers"), napi_complete_done() returns a boolean that can be used
by drivers to conditionally rearm interrupts.

Testing with a 7142 shows a small latency improvement of ~100 ns.

Signed-off-by: Bert Kenward <[email protected]>
Cc: Eric Dumazet <[email protected]>
---
 drivers/net/ethernet/sfc/efx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index fcd4eeecfef4..c28cd9daf949 100644
--- a/drivers/net/ethernet/sfc/efx.c
+++ b/drivers/net/ethernet/sfc/efx.c
@@ -328,8 +328,8 @@ static int efx_poll(struct napi_struct *napi, int budget)
                 * since efx_nic_eventq_read_ack() will have no effect if
                 * interrupts have already been disabled.
                 */
-               napi_complete_done(napi, spent);
-               efx_nic_eventq_read_ack(channel);
+               if (napi_complete_done(napi, spent))
+                       efx_nic_eventq_read_ack(channel);
        }
 
        return spent;
-- 
2.7.4

Reply via email to