From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tariq Toukan Subject: Re: [PATCH net] mlx4: do not call napi_schedule() without care Date: Mon, 16 Jan 2017 11:02:44 +0200 Message-ID: <352911f4-7073-ad7f-83d9-dbcc6e07d553@gmail.com> References: <1484325564.13165.30.camel@edumazet-glaptop3.roam.corp.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: netdev , Erez Shitrit , Eugenia Emantayev , Tariq Toukan To: Eric Dumazet , David Miller Return-path: Received: from mail-wm0-f66.google.com ([74.125.82.66]:35865 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750862AbdAPJCt (ORCPT ); Mon, 16 Jan 2017 04:02:49 -0500 Received: by mail-wm0-f66.google.com with SMTP id r126so29244862wmr.3 for ; Mon, 16 Jan 2017 01:02:48 -0800 (PST) In-Reply-To: <1484325564.13165.30.camel@edumazet-glaptop3.roam.corp.google.com> Sender: netdev-owner@vger.kernel.org List-ID: Thanks Eric. On 13/01/2017 6:39 PM, Eric Dumazet wrote: > From: Eric Dumazet > > Disable BH around the call to napi_schedule() to avoid following warning > > [ 52.095499] NOHZ: local_softirq_pending 08 > [ 52.421291] NOHZ: local_softirq_pending 08 > [ 52.608313] NOHZ: local_softirq_pending 08 > > Fixes: 8d59de8f7bb3 ("net/mlx4_en: Process all completions in RX rings after port goes up") > Signed-off-by: Eric Dumazet > Cc: Erez Shitrit > Cc: Eugenia Emantayev > Cc: Tariq Toukan > --- > drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c > index 4910d9af19335d4b97d39760c163b41eecc26242..761f8b12399cab245abccc0f7d7f84fde742c14d 100644 > --- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c > +++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c > @@ -1748,8 +1748,11 @@ int mlx4_en_start_port(struct net_device *dev) > /* Process all completions if exist to prevent > * the queues freezing if they are full > */ > - for (i = 0; i < priv->rx_ring_num; i++) > + for (i = 0; i < priv->rx_ring_num; i++) { > + local_bh_disable(); > napi_schedule(&priv->rx_cq[i]->napi); > + local_bh_enable(); > + } > > netif_tx_start_all_queues(dev); > netif_device_attach(dev); > > Acked-by: Tariq Toukan