Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net-next v3 0/6] net: napi: add CPU affinity to napi->config
@ 2025-01-04  0:43 Ahmed Zaki
  2025-01-04  0:43 ` [Intel-wired-lan] [PATCH net-next v3 1/6] net: move ARFS rmap management to core Ahmed Zaki
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Ahmed Zaki @ 2025-01-04  0:43 UTC (permalink / raw)
  To: netdev
  Cc: intel-wired-lan, andrew+netdev, edumazet, kuba, pabeni, davem,
	michael.chan, tariqt, anthony.l.nguyen, przemyslaw.kitszel,
	jdamato, shayd, akpm, Ahmed Zaki

Move the IRQ affinity management to the napi struct. Since there can only
be one IRQ affinity notifier, the ARFS rmap management is moved to CORE
(patches 1 and 2), then the new notifier is extended to save the user-set
IRQ affinity mask in napi_config.

Tested on bnxt, ice and idpf.

v3:
    - Assign one cpu per mask starting from local NUMA node (Shay Drori).
    - Keep the new ARFS and Affinity flags per nedev (Jakub).

v2:
    - https://lore.kernel.org/netdev/202412190454.nwvp3hU2-lkp@intel.com/T/
    - Also move the ARFS IRQ affinity management from drivers to core. Via
      netif_napi_set_irq(), drivers can ask the core to add the IRQ to the
      ARFS rmap (already allocated by the driver).

RFC -> v1:
    - https://lore.kernel.org/netdev/20241210002626.366878-1-ahmed.zaki@intel.com/
    - move static inline affinity functions to net/dev/core.c
    - add the new napi->irq_flags (patch 1)
    - add code changes to bnxt, mlx4 and ice.

Ahmed Zaki (6):
  net: move ARFS rmap management to core
  net: napi: add internal ARFS rmap management
  net: napi: add CPU affinity to napi_config
  bnxt: use napi's irq affinity
  ice: use napi's irq affinity
  idpf: use napi's irq affinity

 drivers/net/ethernet/amazon/ena/ena_netdev.c |  38 +----
 drivers/net/ethernet/broadcom/bnxt/bnxt.c    |  53 ++-----
 drivers/net/ethernet/broadcom/bnxt/bnxt.h    |   2 -
 drivers/net/ethernet/intel/ice/ice.h         |   3 -
 drivers/net/ethernet/intel/ice/ice_arfs.c    |  17 +--
 drivers/net/ethernet/intel/ice/ice_base.c    |   7 +-
 drivers/net/ethernet/intel/ice/ice_lib.c     |   6 -
 drivers/net/ethernet/intel/ice/ice_main.c    |  47 +------
 drivers/net/ethernet/intel/idpf/idpf_lib.c   |   1 +
 drivers/net/ethernet/intel/idpf/idpf_txrx.c  |  22 +--
 drivers/net/ethernet/intel/idpf/idpf_txrx.h  |   6 +-
 include/linux/cpu_rmap.h                     |   1 +
 include/linux/netdevice.h                    |  23 ++-
 lib/cpu_rmap.c                               |   2 +-
 net/core/dev.c                               | 139 ++++++++++++++++++-
 15 files changed, 186 insertions(+), 181 deletions(-)

-- 
2.43.0


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

end of thread, other threads:[~2025-01-06 11:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-04  0:43 [Intel-wired-lan] [PATCH net-next v3 0/6] net: napi: add CPU affinity to napi->config Ahmed Zaki
2025-01-04  0:43 ` [Intel-wired-lan] [PATCH net-next v3 1/6] net: move ARFS rmap management to core Ahmed Zaki
2025-01-04  5:13   ` kernel test robot
2025-01-04 12:20   ` kernel test robot
2025-01-04 13:02   ` kernel test robot
2025-01-04  0:43 ` [Intel-wired-lan] [PATCH net-next v3 2/6] net: napi: add internal ARFS rmap management Ahmed Zaki
2025-01-04  0:43 ` [Intel-wired-lan] [PATCH net-next v3 3/6] net: napi: add CPU affinity to napi_config Ahmed Zaki
2025-01-06 11:42   ` Dan Carpenter
2025-01-04  0:43 ` [Intel-wired-lan] [PATCH net-next v3 4/6] bnxt: use napi's irq affinity Ahmed Zaki
2025-01-05  6:42   ` Kalesh Anakkur Purayil
2025-01-04  0:43 ` [Intel-wired-lan] [PATCH net-next v3 5/6] ice: " Ahmed Zaki
2025-01-04  0:43 ` [Intel-wired-lan] [PATCH net-next v3 6/6] idpf: " Ahmed Zaki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox