From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Shimoda, Yoshihiro" Date: Fri, 18 May 2012 01:44:43 +0000 Subject: Re: [PATCH v4 6/6] net: sh_eth: use NAPI Message-Id: <4FB5A98B.501@renesas.com> List-Id: References: <4FB32D17.30404@renesas.com> <20120517103308.GA15830@electric-eye.fr.zoreil.com> In-Reply-To: <20120517103308.GA15830@electric-eye.fr.zoreil.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Francois Romieu Cc: netdev , SH-Linux 2012/05/17 19:33, Francois Romieu wrote: > Shimoda, Yoshihiro : > [...] >> diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c >> index c64a31c..edc7dfe 100644 >> --- a/drivers/net/ethernet/renesas/sh_eth.c >> +++ b/drivers/net/ethernet/renesas/sh_eth.c > [...] < snip > >> @@ -1678,19 +1710,15 @@ static int sh_eth_start_xmit(struct sk_buff *skb, struct net_device *ndev) >> struct sh_eth_private *mdp = netdev_priv(ndev); >> struct sh_eth_txdesc *txdesc; >> u32 entry; >> - unsigned long flags; >> >> - spin_lock_irqsave(&mdp->lock, flags); >> if ((mdp->cur_tx - mdp->dirty_tx) >= (mdp->num_tx_ring - 4)) { >> if (!sh_eth_txfree(ndev)) { > > There are now two racing sh_eth_txfree and there is no [PATCH v4 7/6]. > > If I may suggest a slightly different approach, I would apply the patch > below before anything NAPI related: Thank you very much for the suggestion. I will modify the NAPI patch to fix the racing using your suggestion. (Because the original driver (before NAPI) was already locked by mdp->lock in sh_eth_interrupt(), I think that the original driver doesn't have the racing issue.) Best regards, Yoshihiro Shimoda