]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gve: remove xdp_xsk_done and xdp_xsk_wakeup statistics
authorJoshua Washington <joshwash@google.com>
Fri, 21 Mar 2025 00:29:05 +0000 (00:29 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 25 Mar 2025 20:51:14 +0000 (13:51 -0700)
These statistics pollute the hotpath and do not have any real-world use
or meaning.

Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Joshua Washington <joshwash@google.com>
Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
Link: https://patch.msgid.link/20250321002910.1343422-2-hramamurthy@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/google/gve/gve.h
drivers/net/ethernet/google/gve/gve_ethtool.c
drivers/net/ethernet/google/gve/gve_tx.c

index 483c43bab3a999fb504430202ec3d13e75f98af0..2064e592dfdd336ae6f7041c54c2da20893b7be2 100644 (file)
@@ -613,8 +613,6 @@ struct gve_tx_ring {
        dma_addr_t complq_bus_dqo; /* dma address of the dqo.compl_ring */
        struct u64_stats_sync statss; /* sync stats for 32bit archs */
        struct xsk_buff_pool *xsk_pool;
-       u32 xdp_xsk_wakeup;
-       u32 xdp_xsk_done;
        u64 xdp_xsk_sent;
        u64 xdp_xmit;
        u64 xdp_xmit_errors;
index a572f1e059342ee0b5ba2bde90018d4cc91b06dc..bc59b5b4235a05381fe985ebb2d0a693dc96d7ef 100644 (file)
@@ -63,8 +63,8 @@ static const char gve_gstrings_rx_stats[][ETH_GSTRING_LEN] = {
 static const char gve_gstrings_tx_stats[][ETH_GSTRING_LEN] = {
        "tx_posted_desc[%u]", "tx_completed_desc[%u]", "tx_consumed_desc[%u]", "tx_bytes[%u]",
        "tx_wake[%u]", "tx_stop[%u]", "tx_event_counter[%u]",
-       "tx_dma_mapping_error[%u]", "tx_xsk_wakeup[%u]",
-       "tx_xsk_done[%u]", "tx_xsk_sent[%u]", "tx_xdp_xmit[%u]", "tx_xdp_xmit_errors[%u]"
+       "tx_dma_mapping_error[%u]",
+       "tx_xsk_sent[%u]", "tx_xdp_xmit[%u]", "tx_xdp_xmit_errors[%u]"
 };
 
 static const char gve_gstrings_adminq_stats[][ETH_GSTRING_LEN] = {
@@ -417,9 +417,7 @@ gve_get_ethtool_stats(struct net_device *netdev,
                                        data[i++] = value;
                                }
                        }
-                       /* XDP xsk counters */
-                       data[i++] = tx->xdp_xsk_wakeup;
-                       data[i++] = tx->xdp_xsk_done;
+                       /* XDP counters */
                        do {
                                start = u64_stats_fetch_begin(&priv->tx[ring].statss);
                                data[i] = tx->xdp_xsk_sent;
index 4350ebd9c2bd9eb5c9ba6f0539dd9c9fc2863313..c8c067e1805983b8eea7785bf7e134d59643376a 100644 (file)
@@ -959,14 +959,10 @@ static int gve_xsk_tx(struct gve_priv *priv, struct gve_tx_ring *tx,
 
        spin_lock(&tx->xdp_lock);
        while (sent < budget) {
-               if (!gve_can_tx(tx, GVE_TX_START_THRESH))
+               if (!gve_can_tx(tx, GVE_TX_START_THRESH) ||
+                   !xsk_tx_peek_desc(tx->xsk_pool, &desc))
                        goto out;
 
-               if (!xsk_tx_peek_desc(tx->xsk_pool, &desc)) {
-                       tx->xdp_xsk_done = tx->xdp_xsk_wakeup;
-                       goto out;
-               }
-
                data = xsk_buff_raw_get_data(tx->xsk_pool, desc.addr);
                nsegs = gve_tx_fill_xdp(priv, tx, data, desc.len, NULL, true);
                tx->req += nsegs;