From patchwork Mon May 22 19:26:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Andrzej Siewior X-Patchwork-Id: 765562 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wWpZR4sGyz9s5L for ; Tue, 23 May 2017 05:27:11 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759166AbdEVT1E (ORCPT ); Mon, 22 May 2017 15:27:04 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:50019 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758616AbdEVT0v (ORCPT ); Mon, 22 May 2017 15:26:51 -0400 Received: from bigeasy by Galois.linutronix.de with local (Exim 4.80) (envelope-from ) id 1dCsyU-0008Ag-Qw; Mon, 22 May 2017 21:26:39 +0200 Date: Mon, 22 May 2017 21:26:41 +0200 From: Sebastian Andrzej Siewior To: Eric Dumazet Cc: netdev@vger.kernel.org, "David S. Miller" , tglx@linutronix.de Subject: [PATCH] net/core: remove explicit do_softirq() from busy_poll_stop() Message-ID: <20170522192641.hylqmhb7t2fykk5e@linutronix.de> MIME-Version: 1.0 Content-Disposition: inline User-Agent: NeoMutt/20170306 (1.8.0) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- net/core/dev.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c index fca407b4a6ea..e84eb0ec5529 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5199,8 +5199,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,