Re: [PATCH net 3/3] net: mvpp2: do not call txq_done from the Tx path when Tx irqs are used

From: David Miller
Date: Tue Oct 24 2017 - 05:35:11 EST


From: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx>
Date: Mon, 23 Oct 2017 15:24:31 +0200

> When Tx IRQs are used, txq_bufs_free() can be called from both the Tx
> path and from NAPI poll(). This led to CPU stalls as if these two tasks
> (Tx and Poll) are scheduled on two CPUs at the same time, DMA unmapping
> operations are done on the same txq buffers.
>
> This patch adds a check not to call txq_done() from the Tx path if Tx
> interrupts are used as it does not make sense to do so.
>
> Fixes: edc660fa09e2 ("net: mvpp2: replace TX coalescing interrupts with hrtimer")
> Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx>

Applied.