netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC net-next 0/6] Cleanup IRQ affinity checks in several drivers
@ 2024-08-12 14:56 Joe Damato
  2024-08-12 14:56 ` [RFC net-next 1/6] netdevice: Add napi_affinity_no_change Joe Damato
                   ` (6 more replies)
  0 siblings, 7 replies; 27+ messages in thread
From: Joe Damato @ 2024-08-12 14:56 UTC (permalink / raw)
  To: netdev
  Cc: Joe Damato, Daniel Borkmann, David S. Miller, Eric Dumazet,
	Harshitha Ramamurthy, moderated list:INTEL ETHERNET DRIVERS,
	Jakub Kicinski, Jeroen de Borst, Jiri Pirko, Leon Romanovsky,
	open list, open list:MELLANOX MLX4 core VPI driver,
	Lorenzo Bianconi, Paolo Abeni, Praveen Kaligineedi,
	Przemek Kitszel, Saeed Mahameed, Sebastian Andrzej Siewior,
	Shailend Chand, Tariq Toukan, Tony Nguyen, Willem de Bruijn,
	Yishai Hadas, Ziwei Xiao

Greetings:

Several drivers make a check in their napi poll functions to determine
if the CPU affinity of the IRQ has changed. If it has, the napi poll
function returns a value less than the budget to force polling mode to
be disabled, so that it can be rescheduled on the correct CPU next time
the softirq is raised.

This code is repeated in at least 5 drivers that I found, but there
might be more I missed (please let me know and I'll fix them). IMHO,
it'd be nice to fix this in existing drivers and avoid future drivers
repeating the same pattern.

FWIW, it's possible that patch 4, 5, and 6 could be separated into
"fixes" for the type mismatches and then, separaately, new code, but
that seemed like a lot of noise for the list and maybe unnecessary.

If I should first send fixes for 4, 5, and 6 and then send this cleanup
series after, let me know and I'll do that.

Sending as an RFC because:
  - I wanted to see if this cleanup was desirable overall, and
  - If so, do I need to send fixes for 4-6 first?

Thanks,
Joe

Joe Damato (6):
  netdevice: Add napi_affinity_no_change
  mlx5: Use napi_affinity_no_change
  gve: Use napi_affinity_no_change
  i40e: Use napi_affinity_no_change
  iavf: Use napi_affinity_no_change
  mlx4: Use napi_affinity_no_change

 drivers/net/ethernet/google/gve/gve_main.c        | 14 +-------------
 drivers/net/ethernet/intel/i40e/i40e.h            |  2 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c       |  2 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c       |  4 +---
 drivers/net/ethernet/intel/iavf/iavf.h            |  1 +
 drivers/net/ethernet/intel/iavf/iavf_main.c       |  4 +++-
 drivers/net/ethernet/intel/iavf/iavf_txrx.c       |  4 +---
 drivers/net/ethernet/mellanox/mlx4/en_cq.c        |  6 ++++--
 drivers/net/ethernet/mellanox/mlx4/en_rx.c        |  6 +-----
 drivers/net/ethernet/mellanox/mlx4/eq.c           |  2 +-
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h      |  1 +
 drivers/net/ethernet/mellanox/mlx5/core/en.h      |  2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c |  2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c |  9 +--------
 include/linux/mlx4/device.h                       |  2 +-
 include/linux/netdevice.h                         |  8 ++++++++
 net/core/dev.c                                    | 14 ++++++++++++++
 17 files changed, 42 insertions(+), 41 deletions(-)

-- 
2.25.1


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

end of thread, other threads:[~2024-08-20  8:33 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-12 14:56 [RFC net-next 0/6] Cleanup IRQ affinity checks in several drivers Joe Damato
2024-08-12 14:56 ` [RFC net-next 1/6] netdevice: Add napi_affinity_no_change Joe Damato
2024-08-12 20:23   ` Stanislav Fomichev
2024-08-12 21:08     ` Joe Damato
2024-08-12 22:36       ` Stanislav Fomichev
2024-08-13  9:11         ` Joe Damato
2024-08-13 10:03           ` Joe Damato
2024-08-13 13:05           ` Simon Horman
2024-08-12 14:56 ` [RFC net-next 2/6] mlx5: Use napi_affinity_no_change Joe Damato
2024-08-12 14:56 ` [RFC net-next 3/6] gve: " Joe Damato
2024-08-13 18:55   ` Shailend Chand
2024-08-13 21:44     ` Joe Damato
2024-08-13 21:50       ` Shailend Chand
2024-08-12 14:56 ` [RFC net-next 4/6] i40e: " Joe Damato
2024-08-12 14:56 ` [RFC net-next 5/6] iavf: " Joe Damato
2024-08-12 14:56 ` [RFC net-next 6/6] mlx4: " Joe Damato
2024-08-14  0:17 ` [RFC net-next 0/6] Cleanup IRQ affinity checks in several drivers Jakub Kicinski
2024-08-14  7:14   ` Joe Damato
2024-08-14 12:12     ` Joe Damato
2024-08-14 15:09       ` Jakub Kicinski
2024-08-14 15:19         ` Joe Damato
2024-08-14 16:03           ` Shay Drori
2024-08-14 18:01             ` Joe Damato
2024-08-15  0:20               ` Jakub Kicinski
2024-08-15 10:22                 ` Joe Damato
2024-08-20  6:40                   ` Shay Drori
2024-08-20  8:33                     ` Joe Damato

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