[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1380214759.3165.201.camel@edumazet-glaptop>
Date: Thu, 26 Sep 2013 09:59:19 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Guennadi Liakhovetski <g.liakhovetski@....de>
Cc: David Miller <davem@...emloft.net>,
sergei.shtylyov@...entembedded.com, netdev@...r.kernel.org,
nobuhiro.iwamatsu.yj@...esas.com, linux-sh@...r.kernel.org
Subject: Re: [PATCH] sh_eth: NAPI requires netif_receive_skb()
On Thu, 2013-09-26 at 18:12 +0200, Guennadi Liakhovetski wrote:
> Hi
>
> On Wed, 4 Sep 2013, David Miller wrote:
>
> > From: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
> > Date: Tue, 3 Sep 2013 03:03:10 +0400
> >
> > > Driver supporting NAPI should use NAPI-specific function for receiving packets,
> > > so netif_rx() should be changed to netif_receive_skb().
> > >
> > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
>
> This patch breaks NFS boot on Armadillo800eva for me. Network
> communication slows down to a crawl with
>
> net eth0: Receive FIFO Overflow
> nfs: server 192.168.x.y not responding, still trying
>
> With this patch reverted (e.g. in today's Linus tree snapshot) boot is
> restored.
RX_RING_SIZE is 64
This driver refills the Rx ring buffers only _after_ the loop to drain
ready buffers. This was OK with the previous behavior (netif_rx() is
damn fast)
With this low amount of buffers, underrun can happen with the new code,
as netif_receive_skb() adds delay during the drain.
Most likely driver needs to refill buffers one by one (or small batches)
instead of in one go after the drain.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists