[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <169059098829.3736.381753570945338022.stgit@anambiarhost.jf.intel.com>
Date: Fri, 28 Jul 2023 17:46:51 -0700
From: Amritha Nambiar <amritha.nambiar@...el.com>
To: netdev@...r.kernel.org, kuba@...nel.org, davem@...emloft.net
Cc: sridhar.samudrala@...el.com, amritha.nambiar@...el.com
Subject: [net-next PATCH v1 0/9] Introduce NAPI queues support
Introduce support for associating NAPI instances with
corresponding RX and TX queue set. Add the capability
to export NAPI information supported by the device.
Extend the netdev_genl generic netlink family for netdev
with NAPI data. The NAPI fields exposed are:
- NAPI id
- queue/queue-set (both RX and TX) associated with each
NAPI instance
- Interrupt number associated with the NAPI instance
- PID for the NAPI thread
This series only supports 'get' ability for retrieving
certain NAPI attributes. The 'set' ability for setting
queue[s] associated with a NAPI instance via netdev-genl
will be submitted as a separate patch series.
Previous discussion at:
https://lore.kernel.org/netdev/c8476530638a5f4381d64db0e024ed49c2db3b02.camel@gmail.com/T/#m00999652a8b4731fbdb7bf698d2e3666c65a60e7
$ ./cli.py --spec netdev.yaml --do napi-get --json='{"ifindex": 6}'
[{'ifindex': 6},
{'napi-info': [{'irq': 296,
'napi-id': 390,
'pid': 3475,
'rx-queues': [5],
'tx-queues': [5]},
{'irq': 295,
'napi-id': 389,
'pid': 3474,
'rx-queues': [4],
'tx-queues': [4]},
{'irq': 294,
'napi-id': 388,
'pid': 3473,
'rx-queues': [3],
'tx-queues': [3]},
{'irq': 293,
'napi-id': 387,
'pid': 3472,
'rx-queues': [2],
'tx-queues': [2]},
{'irq': 292,
'napi-id': 386,
'pid': 3471,
'rx-queues': [1],
'tx-queues': [1]},
{'irq': 291,
'napi-id': 385,
'pid': 3470,
'rx-queues': [0],
'tx-queues': [0]}]}]
RFC -> v1
* Changed to separate 'napi_get' command
* Added support to expose interrupt and PID for the NAPI
* Used list of netdev queue structs
* Split patches further and fixed code style and errors
---
Amritha Nambiar (9):
net: Introduce new fields for napi and queue associations
ice: Add support in the driver for associating napi with queue[s]
netdev-genl: spec: Extend netdev netlink spec in YAML for NAPI
net: Move kernel helpers for queue index outside sysfs
netdev-genl: Add netlink framework functions for napi
netdev-genl: spec: Add irq in netdev netlink YAML spec
net: Add NAPI IRQ support
netdev-genl: spec: Add PID in netdev netlink YAML spec
netdev-genl: Add PID for the NAPI thread
Documentation/netlink/specs/netdev.yaml | 54 ++++++
drivers/net/ethernet/intel/ice/ice_lib.c | 60 ++++++
drivers/net/ethernet/intel/ice/ice_lib.h | 4
drivers/net/ethernet/intel/ice/ice_main.c | 4
include/linux/netdevice.h | 41 ++++
include/uapi/linux/netdev.h | 20 ++
net/core/dev.c | 53 ++++++
net/core/net-sysfs.c | 11 -
net/core/netdev-genl-gen.c | 17 ++
net/core/netdev-genl-gen.h | 2
net/core/netdev-genl.c | 270 +++++++++++++++++++++++++++++
tools/include/uapi/linux/netdev.h | 20 ++
tools/net/ynl/generated/netdev-user.c | 232 +++++++++++++++++++++++++
tools/net/ynl/generated/netdev-user.h | 67 +++++++
tools/net/ynl/ynl-gen-c.py | 2
15 files changed, 841 insertions(+), 16 deletions(-)
--
Powered by blists - more mailing lists