]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
mvneta: add XDP ethtool errors stats for TX to driver
authorJesper Dangaard Brouer <brouer@redhat.com>
Mon, 2 Mar 2020 13:46:28 +0000 (14:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Mar 2020 19:29:37 +0000 (11:29 -0800)
commit15070919f801348e9a9a2ea96f427d8b621f3cd5
tree5fb5a0f35bb7fb595f7765da01fbcf738d7ce9f3
parent0b56a29f708e10d0ae81a6503cbe41edaaaefbc8
mvneta: add XDP ethtool errors stats for TX to driver

Adding ethtool stats for when XDP transmitted packets overrun the TX
queue. This is recorded separately for XDP_TX and ndo_xdp_xmit. This
is an important aid for troubleshooting XDP based setups.

It is currently a known weakness and property of XDP that there isn't
any push-back or congestion feedback when transmitting frames via XDP.
It's easy to realise when redirecting from a higher speed link into a
slower speed link, or simply two ingress links into a single egress.
The situation can also happen when Ethernet flow control is active.

For testing the patch and provoking the situation to occur on my
Espressobin board, I configured the TX-queue to be smaller (434) than
RX-queue (512) and overload network with large MTU size frames (as a
larger frame takes longer to transmit).

Hopefully the upcoming XDP TX hook can be extended to provide insight
into these TX queue overflows, to allow programmable adaptation
strategies.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvneta.c