netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next PATCH v1 0/9] Introduce NAPI queues support
@ 2023-07-29  0:46 Amritha Nambiar
  2023-07-29  0:46 ` [net-next PATCH v1 1/9] net: Introduce new fields for napi and queue associations Amritha Nambiar
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Amritha Nambiar @ 2023-07-29  0:46 UTC (permalink / raw)
  To: netdev, kuba, davem; +Cc: sridhar.samudrala, amritha.nambiar

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(-)

--

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2023-08-09  2:45 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-29  0:46 [net-next PATCH v1 0/9] Introduce NAPI queues support Amritha Nambiar
2023-07-29  0:46 ` [net-next PATCH v1 1/9] net: Introduce new fields for napi and queue associations Amritha Nambiar
2023-07-29  9:55   ` kernel test robot
2023-07-30 17:10   ` Simon Horman
2023-07-31 22:57     ` Nambiar, Amritha
2023-07-29  0:47 ` [net-next PATCH v1 2/9] ice: Add support in the driver for associating napi with queue[s] Amritha Nambiar
2023-07-29  0:47 ` [net-next PATCH v1 3/9] netdev-genl: spec: Extend netdev netlink spec in YAML for NAPI Amritha Nambiar
2023-07-31 19:36   ` Jakub Kicinski
2023-07-31 23:12     ` Nambiar, Amritha
2023-08-01  0:13       ` Jakub Kicinski
2023-08-01  0:24         ` Nambiar, Amritha
2023-08-01  0:35           ` Jakub Kicinski
2023-08-09  0:17             ` Nambiar, Amritha
2023-08-09  2:45               ` Jakub Kicinski
2023-07-29  0:47 ` [net-next PATCH v1 4/9] net: Move kernel helpers for queue index outside sysfs Amritha Nambiar
2023-07-29  0:47 ` [net-next PATCH v1 5/9] netdev-genl: Add netlink framework functions for napi Amritha Nambiar
2023-07-30 17:15   ` Simon Horman
2023-07-31 23:00     ` Nambiar, Amritha
2023-07-31 19:37   ` Jakub Kicinski
2023-07-31 23:01     ` Nambiar, Amritha
2023-07-29  0:47 ` [net-next PATCH v1 6/9] netdev-genl: spec: Add irq in netdev netlink YAML spec Amritha Nambiar
2023-07-29  0:47 ` [net-next PATCH v1 7/9] net: Add NAPI IRQ support Amritha Nambiar
2023-07-29  4:05   ` Stephen Hemminger
2023-07-31 23:22     ` Nambiar, Amritha
2023-07-29  0:47 ` [net-next PATCH v1 8/9] netdev-genl: spec: Add PID in netdev netlink YAML spec Amritha Nambiar
2023-07-29  0:47 ` [net-next PATCH v1 9/9] netdev-genl: Add PID for the NAPI thread Amritha Nambiar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).