Re: [PATCH net] xsk: correct tx_ring_empty_descs count statistics
From: Stanislav Fomichev
Date: Mon Mar 31 2025 - 11:35:54 EST
On 03/29, Wang Liang wrote:
> The tx_ring_empty_descs count may be incorrect, when set the XDP_TX_RING
> option but do not reserve tx ring. Because xsk_poll() try to wakeup the
> driver by calling xsk_generic_xmit() for non-zero-copy mode. So the
> tx_ring_empty_descs count increases once the xsk_poll()is called:
>
> xsk_poll
> xsk_generic_xmit
> __xsk_generic_xmit
> xskq_cons_peek_desc
> xskq_cons_read_desc
> q->queue_empty_descs++;
>
> To avoid this count error, add check for tx descs before send msg in poll.
>
> Fixes: df551058f7a3 ("xsk: Fix crash in poll when device does not support ndo_xsk_wakeup")
> Signed-off-by: Wang Liang <wangliang74@xxxxxxxxxx>
Acked-by: Stanislav Fomichev <sdf@xxxxxxxxxxx>