All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v5 0/4] virtio-net: Link queues to NAPIs
@ 2025-02-27 18:50 Joe Damato
  2025-02-27 18:50 ` [PATCH net-next v5 1/4] virtio-net: Refactor napi_enable paths Joe Damato
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Joe Damato @ 2025-02-27 18:50 UTC (permalink / raw)
  To: netdev
  Cc: mkarsten, gerhard, jasowang, xuanzhuo, kuba, mst, leiyang,
	Joe Damato, Alexei Starovoitov, Andrew Lunn,
	open list:XDP (eXpress Data Path):Keyword:(?:b|_)xdp(?:b|_),
	Daniel Borkmann, David S. Miller, Eric Dumazet,
	Eugenio Pérez, Jesper Dangaard Brouer, John Fastabend,
	open list, Paolo Abeni, open list:VIRTIO CORE AND NET DRIVERS

Greetings:

Welcome to v5. Patches 1, 2, and 4 have no functional changes only
updated tags. Patch 3 was refactored as requested by Jason. See the
changelog below and the commit message for details.

Jakub recently commented [1] that I should not hold this series on
virtio-net linking queues to NAPIs behind other important work that is
on-going and suggested I re-spin, so here we are :)

As per the discussion on the v3 [2], now both RX and TX NAPIs use the
API to link queues to NAPIs. Since TX-only NAPIs don't have a NAPI ID,
commit 6597e8d35851 ("netdev-genl: Elide napi_id when not present") now
correctly elides the TX-only NAPIs (instead of printing zero) when the
queues and NAPIs are linked.

As per the discussion on the v4 [3], patch 3 has been refactored to hold
RTNL only in the specific locations which need it as Jason requested.

See the commit message of patch 3 for an example of how to get the NAPI
to queue mapping information.

See the commit message of patch 4 for an example of how NAPI IDs are
persistent despite queue count changes.

Thanks,
Joe

[1]: https://lore.kernel.org/netdev/20250221142650.3c74dcac@kernel.org/
[2]: https://lore.kernel.org/netdev/20250127142400.24eca319@kernel.org/
[3]: https://lore.kernel.org/netdev/CACGkMEv=ejJnOWDnAu7eULLvrqXjkMkTL4cbi-uCTUhCpKN_GA@mail.gmail.com/

v5:
  - Patch 1 added Acked-by's from Michael and Jason. Added Tested-by
    from Lei. No functional changes.
  - Patch 2 added Acked-by's from Michael and Jason. Added Tested-by
    from Lei. No functional changes.
  - Patch 3:
    - Refactored as Jason requested, eliminating the
      virtnet_queue_set_napi helper entirely, and explicitly holding
      RTNL in the 3 locations where needed (refill_work, freeze, and
      restore).
    - Commit message updated to outline the known paths at the time the
      commit was written.
  - Patch 4 added Acked-by from Michael. Added Tested-by from Lei. No
    functional changes.

v4: https://lore.kernel.org/lkml/20250225020455.212895-1-jdamato@fastly.com/
  - Dropped Jakub's patch (previously patch 1).
  - Significant refactor from v3 affecting patches 1-3.
  - Patch 4 added tags from Jason and Gerhard.

rfcv3: https://lore.kernel.org/netdev/20250121191047.269844-1-jdamato@fastly.com/
  - patch 3:
    - Removed the xdp checks completely, as Gerhard Engleder pointed
      out, they are likely not necessary.

  - patch 4:
    - Added Xuan Zhuo's Reviewed-by.

v2: https://lore.kernel.org/netdev/20250116055302.14308-1-jdamato@fastly.com/
  - patch 1:
    - New in the v2 from Jakub.

  - patch 2:
    - Previously patch 1, unchanged from v1.
    - Added Gerhard Engleder's Reviewed-by.
    - Added Lei Yang's Tested-by.

  - patch 3:
    - Introduced virtnet_napi_disable to eliminate duplicated code
      in virtnet_xdp_set, virtnet_rx_pause, virtnet_disable_queue_pair,
      refill_work as suggested by Jason Wang.
    - As a result of the above refactor, dropped Reviewed-by and
      Tested-by from patch 3.

  - patch 4:
    - New in v2. Adds persistent NAPI configuration. See commit message
      for more details.

v1: https://lore.kernel.org/netdev/20250110202605.429475-1-jdamato@fastly.com/

Joe Damato (4):
  virtio-net: Refactor napi_enable paths
  virtio-net: Refactor napi_disable paths
  virtio-net: Map NAPIs to queues
  virtio_net: Use persistent NAPI config

 drivers/net/virtio_net.c | 95 ++++++++++++++++++++++++++++------------
 1 file changed, 67 insertions(+), 28 deletions(-)


base-commit: 7fe0353606d77a32c4c7f2814833dd1c043ebdd2
-- 
2.45.2


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

end of thread, other threads:[~2025-03-06 18:21 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-27 18:50 [PATCH net-next v5 0/4] virtio-net: Link queues to NAPIs Joe Damato
2025-02-27 18:50 ` [PATCH net-next v5 1/4] virtio-net: Refactor napi_enable paths Joe Damato
2025-02-27 18:50 ` [PATCH net-next v5 2/4] virtio-net: Refactor napi_disable paths Joe Damato
2025-02-27 18:50 ` [PATCH net-next v5 3/4] virtio-net: Map NAPIs to queues Joe Damato
2025-02-28  8:14   ` Jason Wang
2025-03-01  2:27   ` Jakub Kicinski
2025-03-03 16:46     ` Joe Damato
2025-03-03 17:00       ` Joe Damato
2025-03-03 18:33         ` Joe Damato
2025-03-04  0:03           ` Jakub Kicinski
2025-03-04 15:08             ` Joe Damato
2025-03-05  5:11               ` Jason Wang
2025-03-05 16:34                 ` Joe Damato
2025-03-06  0:15                   ` Jason Wang
2025-03-06  1:42             ` Joe Damato
2025-03-06  2:21               ` Jakub Kicinski
2025-03-06 17:00                 ` Joe Damato
2025-03-06 18:21                   ` Jakub Kicinski
2025-02-27 18:50 ` [PATCH net-next v5 4/4] virtio_net: Use persistent NAPI config Joe Damato
2025-02-28 14:39 ` [PATCH net-next v5 0/4] virtio-net: Link queues to NAPIs Lei Yang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.