[PATCH net-next v2] net: thunderx: Fix transmit queue timeout issue

David Miller davem at davemloft.net
Fri Dec 2 10:33:11 PST 2016


From: sunil.kovvuri at gmail.com
Date: Thu,  1 Dec 2016 18:24:28 +0530

> From: Sunil Goutham <sgoutham at cavium.com>
> 
> Transmit queue timeout issue is seen in two cases
> - Due to a race condition btw setting stop_queue at xmit()
>   and checking for stopped_queue in NAPI poll routine, at times
>   transmission from a SQ comes to a halt. This is fixed
>   by using barriers and also added a check for SQ free descriptors,
>   incase SQ is stopped and there are only CQE_RX i.e no CQE_TX.
> - Contrary to an assumption, a HW errata where HW doesn't stop transmission
>   even though there are not enough CQEs available for a CQE_TX is
>   not fixed in T88 pass 2.x. This results in a Qset error with
>   'CQ_WR_FULL' stalling transmission. This is fixed by adjusting
>   RXQ's  RED levels for CQ level such that there is always enough
>   space left for CQE_TXs.
> 
> Signed-off-by: Sunil Goutham <sgoutham at cavium.com>
> ---
> v2: As suggested by David, replaced netif_tx_start_queue with 
>     netif_tx_wake_queue.

Applied, thanks.



More information about the linux-arm-kernel mailing list