mbox series

[net-next,v2,0/3] netdev: add per-queue statistics

Message ID 20240229010221.2408413-1-kuba@kernel.org (mailing list archive)
Headers show
Series netdev: add per-queue statistics | expand

Message

Jakub Kicinski Feb. 29, 2024, 1:02 a.m. UTC
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.

v2:
 - un-wrap short lines
 - s/stats/qstats/
v1: https://lore.kernel.org/all/20240226211015.1244807-1-kuba@kernel.org/
 - 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@kernel.org/

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 |  63 +++++++
 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                    | 217 ++++++++++++++++++++++
 tools/include/uapi/linux/netdev.h         |  20 ++
 10 files changed, 499 insertions(+)

Comments

Stanislav Fomichev Feb. 29, 2024, 5:26 p.m. UTC | #1
On 02/28, Jakub Kicinski wrote:
> 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.
> 
> v2:
>  - un-wrap short lines
>  - s/stats/qstats/
> v1: https://lore.kernel.org/all/20240226211015.1244807-1-kuba@kernel.org/
>  - 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@kernel.org/

Acked-by: Stanislav Fomichev <sdf@google.com>
Nambiar, Amritha Feb. 29, 2024, 6:53 p.m. UTC | #2
On 2/28/2024 5:02 PM, Jakub Kicinski wrote:
> 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.
> 
> v2:
>   - un-wrap short lines
>   - s/stats/qstats/
> v1: https://lore.kernel.org/all/20240226211015.1244807-1-kuba@kernel.org/
>   - 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@kernel.org/
> 

  Reviewed-by: Amritha Nambiar <amritha.nambiar@intel.com>

> 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 |  63 +++++++
>   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                    | 217 ++++++++++++++++++++++
>   tools/include/uapi/linux/netdev.h         |  20 ++
>   10 files changed, 499 insertions(+)
>