|
|
Log in / Subscribe / Register

netdev: add per-queue statistics

From:  Jakub Kicinski <kuba-AT-kernel.org>
To:  davem-AT-davemloft.net
Subject:  [PATCH net-next v3 0/3] netdev: add per-queue statistics
Date:  Wed, 06 Mar 2024 11:55:06 -0800
Message-ID:  <20240306195509.1502746-1-kuba@kernel.org>
Cc:  netdev-AT-vger.kernel.org, edumazet-AT-google.com, pabeni-AT-redhat.com, amritha.nambiar-AT-intel.com, danielj-AT-nvidia.com, mst-AT-redhat.com, michael.chan-AT-broadcom.com, sdf-AT-google.com, przemyslaw.kitszel-AT-intel.com, Jakub Kicinski <kuba-AT-kernel.org>
Archive-link:  Article

Hi!

Per queue stats keep coming up, so it's about time someone laid
the foundation. This series adds the uAPI, a handful of stats
and a sample support for bnxt. It's not very comprehensive in
terms of stat types or driver support. The expectation is that
the support will grow organically. If we have the basic pieces
in place it will be easy for reviewers to request new stats,
or use of the API in place of ethtool -S.

See patch 3 for sample output.

v3:
 - remove the dump error handling, core does it now (b5a899154aa94)
 - fix ring mapping w/ XDP in bnxt
v2: https://lore.kernel.org/all/20240229010221.2408413-1-kuba...
 - un-wrap short lines
 - s/stats/qstats/
v1: https://lore.kernel.org/all/20240226211015.1244807-1-kuba...
 - rename projection -> scope
 - turn projection/scope into flags
 - remove the "netdev" scope since it's always implied
rfc: https://lore.kernel.org/all/20240222223629.158254-1-kuba@...

Jakub Kicinski (3):
  netdev: add per-queue statistics
  netdev: add queue stat for alloc failures
  eth: bnxt: support per-queue statistics

 Documentation/netlink/specs/netdev.yaml   |  91 +++++++++
 Documentation/networking/statistics.rst   |  15 ++
 drivers/net/ethernet/broadcom/bnxt/bnxt.c |  65 +++++++
 include/linux/netdevice.h                 |   3 +
 include/net/netdev_queues.h               |  56 ++++++
 include/uapi/linux/netdev.h               |  20 ++
 net/core/netdev-genl-gen.c                |  12 ++
 net/core/netdev-genl-gen.h                |   2 +
 net/core/netdev-genl.c                    | 214 ++++++++++++++++++++++
 tools/include/uapi/linux/netdev.h         |  20 ++
 10 files changed, 498 insertions(+)

-- 
2.44.0




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds