net/core: remove explicit do_softirq() from busy_poll_stop()
authorSebastian Siewior <bigeasy@linutronix.de>
Fri, 16 Jun 2017 17:24:00 +0000 (19:24 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Jun 2017 17:09:33 +0000 (13:09 -0400)
Since commit 217f69743681 ("net: busy-poll: allow preemption in
sk_busy_loop()") there is an explicit do_softirq() invocation after
local_bh_enable() has been invoked.
I don't understand why we need this because local_bh_enable() will
invoke do_softirq() once the softirq counter reached zero and we have
softirq-related work pending.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 6d60149287a1868cd65fcc55a4e29edd7611def3..7243421c9783bf060dac1938fc1f2f59a4afafea 100644 (file)
@@ -5206,8 +5206,6 @@ static void busy_poll_stop(struct napi_struct *napi, void *have_poll_lock)
        if (rc == BUSY_POLL_BUDGET)
                __napi_schedule(napi);
        local_bh_enable();
-       if (local_softirq_pending())
-               do_softirq();
 }
 
 void napi_busy_loop(unsigned int napi_id,