]> www.infradead.org Git - users/willy/pagecache.git/commit
gve: process XSK TX descriptors as part of RX NAPI
authorJoshua Washington <joshwash@google.com>
Wed, 18 Dec 2024 13:34:14 +0000 (05:34 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Dec 2024 12:49:41 +0000 (12:49 +0000)
commitba0925c34e0fa6fe02d3d642bc02ab099ab312c7
tree5b800eee5829bdd8550f40e6d4db1a75e818cbe8
parent40338d7987d810fcaa95c500b1068a52b08eec9b
gve: process XSK TX descriptors as part of RX NAPI

When busy polling is enabled, xsk_sendmsg for AF_XDP zero copy marks
the NAPI ID corresponding to the memory pool allocated for the socket.
In GVE, this NAPI ID will never correspond to a NAPI ID of one of the
dedicated XDP TX queues registered with the umem because XDP TX is not
set up to share a NAPI with a corresponding RX queue.

This patch moves XSK TX descriptor processing from the TX NAPI to the RX
NAPI, and the gve_xsk_wakeup callback is updated to use the RX NAPI
instead of the TX NAPI, accordingly. The branch on if the wakeup is for
TX is removed, as the NAPI poll should be invoked whether the wakeup is
for TX or for RX.

Fixes: fd8e40321a12 ("gve: Add AF_XDP zero-copy support for GQI-QPL format")
Cc: stable@vger.kernel.org
Signed-off-by: Praveen Kaligineedi <pkaligineedi@google.com>
Signed-off-by: Joshua Washington <joshwash@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/google/gve/gve.h
drivers/net/ethernet/google/gve/gve_main.c
drivers/net/ethernet/google/gve/gve_tx.c