[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181215.131538.45861666300286994.davem@davemloft.net>
Date: Sat, 15 Dec 2018 13:15:38 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ilias.apalodimas@...aro.org
Cc: netdev@...r.kernel.org, jaswinder.singh@...aro.org,
ard.biesheuvel@...aro.org, masami.hiramatsu@...aro.org,
masahisa.kojima@...aro.org
Subject: Re: [net-next, PATCH 1/2] net: socionext: correctly recover txq
after being full
From: Ilias Apalodimas <ilias.apalodimas@...aro.org>
Date: Fri, 14 Dec 2018 10:59:00 +0200
> Running pktgen with packets sizes > 512b ends up in the interface Txq
> getting stuck.
> "netsec 522d0000.ethernet eth0: netsec_netdev_start_xmit: TxQFull!"
> appears on dmesg but the interface never recovers. It requires an
> ifconfig down/up to make the interface usable again.
>
> The reason that triggers this, is a race condition between
> .ndo_start_xmit and the napi completion. The available budget is
> calculated first and indicates the queue is full. Due to a costly
> netif_err() the queue is not stopped in time while the napi completion
> runs, clears the irq and frees up descriptors, thus the queue never wakes
> up again.
>
> Fix this by moving the print after stopping the queue, make the print
> ratelimited, add barriers and check for cleaned descriptors..
>
> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@...aro.org>
Applied.
Powered by blists - more mailing lists