gve: Add header split ethtool stats
authorJeroen de Borst <jeroendb@google.com>
Thu, 29 Feb 2024 21:22:36 +0000 (13:22 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Mar 2024 10:03:32 +0000 (10:03 +0000)
commit056a70924a0272718adfa37ffcfc1e1d426a0d7e
treedffd5962ac94893739707221e9355b35497eb8e2
parent5e37d8254e7f551dda62e7590e819d69c7491845
gve: Add header split ethtool stats

To record the stats of header split packets, three stats are added in
the driver's ethtool stats.

- rx_hsplit_pkt is the split packets count with header split
- rx_hsplit_bytes is the received header bytes count with header split
- rx_hsplit_unsplit_pkt is the unsplit packet count due to header buffer
  overflow or zero header length when header split is enabled

Currently, it's entering the stats_update critical section more than
once per packet. We have plans to avoid that in the future change to let
all the stats_update happen in one place at the end of
`gve_rx_poll_dqo`.

Co-developed-by: Ziwei Xiao <ziweixiao@google.com>
Signed-off-by: Ziwei Xiao <ziweixiao@google.com>
Signed-off-by: Jeroen de Borst <jeroendb@google.com>
Reviewed-by: Praveen Kaligineedi <pkaligineedi@google.com>
Reviewed-by: Harshitha Ramamurthy <hramamurthy@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_ethtool.c
drivers/net/ethernet/google/gve/gve_rx_dqo.c