All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v10 00/18] virtio-net RSS/hash report fixes and improvements
@ 2024-04-28  7:00 Akihiko Odaki
  2024-04-28  7:00 ` [PATCH v10 01/18] tap: Remove tap_probe_vnet_hdr_len() Akihiko Odaki
                   ` (17 more replies)
  0 siblings, 18 replies; 20+ messages in thread
From: Akihiko Odaki @ 2024-04-28  7:00 UTC (permalink / raw)
  To: Jason Wang, Dmitry Fleytman, Sriram Yagnaraman,
	Michael S. Tsirkin, Luigi Rizzo, Giuseppe Lettieri,
	Vincenzo Maffione, Andrew Melnychenko, Yuri Benditovich
  Cc: qemu-devel, Akihiko Odaki, Zhang, Chen, Michael Tokarev

This series contains fixes and improvements for virtio-net RSS and hash
reporting feature.

V7 -> V8:
  Reset author email addresses.
  Rebased.

V6 -> V7:
  Dropped patch "virtio-net: Do not clear VIRTIO_NET_F_HASH_REPORT".
  Dropped the changes to remove packet flags.
  Re-introduced tap_receive() and changed it to call tap_receive_iov().
  Removed tap_get_vnet_hdr_len().
  Fixed tap initialization not to call tap_fd_set_vnet_hdr_len() for tap
  without virtio-net header.
  Changed to call error_report() instead of warn_report() for
  programming errors.

V5 -> V6:
  Corrected the message for patch "virtio-net: Return an error when vhost
  cannot enable RSS".
  Removed changes to introduce asserts from "virtio-net: Return an error
  when vhost cannot enable RSS".
  Reorganized patches "virtio-net: Return an error when vhost cannot
  enable RSS" and "virtio-net: Do not clear VIRTIO_NET_F_RSS". This
  version now contains patches "virtio-net: Return an error when vhost
  cannot enable RSS" and "virtio-net: Enable software RSS".
  Rebased.

V4 -> V5:
  Added patch "virtio-net: Do not write hashes to peer buffer".

V3 -> V4:
  Extract patches "tap: Remove tap_receive()" and  "net: Remove flag
  propagation" from "net: Remove receive_raw()".
  Added patch "virtio-net: Always set populate_hash".
  Added patch "virtio-net: Do not clear VIRTIO_NET_F_HASH_REPORT".
  Added patch "ebpf: Use standard section name".
  Added patch "ebpf: Simplify error handling".
  Added patch "ebpf: Return 0 when configuration fails".
  Added patch "ebpf: Refactor tun_rss_steering_prog()".
  Added patch "ebpf: Add a separate target for skeleton".

V2 -> V3:
  Added patch "tap: Remove tap_probe_vnet_hdr_len()".
  Added patch "tap: Remove qemu_using_vnet_hdr()".
  Added patch "net: Move virtio-net header length assertion".
  Added patch "net: Remove receive_raw()".
  Added patch "tap: Shrink zeroed virtio-net header".
  Dropped patch "tap: Fix virtio-net header buffer size".

V1 -> V2:
  Added patch "ebpf: Fix RSS error handling".

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
Changes in v10:
- Dropped an obsolete statement of patch "virtio-net: Do not write
  hashes to peer buffer". (Yuri Benditovich)
- Dropped patch "virtio-net: Return an error when vhost cannot enable
  RSS" and "virtio-net: Report RSS warning at device realization".
- Link to v9: https://lore.kernel.org/r/20240403-rss-v9-0-c6d87e69d38b@daynix.com

Changes in v9:
- Added patch "virtio-net: Do not propagate ebpf-rss-fds errors".
- Added patch "virtio-net: Shrink header byte swapping buffer".
- Rebased.
- Link to v8: https://lore.kernel.org/r/20231210-rss-v8-0-9553ee714d38@daynix.com

---
Akihiko Odaki (18):
      tap: Remove tap_probe_vnet_hdr_len()
      tap: Remove qemu_using_vnet_hdr()
      net: Move virtio-net header length assertion
      net: Remove receive_raw()
      tap: Call tap_receive_iov() from tap_receive()
      tap: Shrink zeroed virtio-net header
      virtio-net: Do not propagate ebpf-rss-fds errors
      virtio-net: Add only one queue pair when realizing
      virtio-net: Copy header only when necessary
      virtio-net: Shrink header byte swapping buffer
      virtio-net: Disable RSS on reset
      virtio-net: Unify the logic to update NIC state for RSS
      virtio-net: Always set populate_hash
      virtio-net: Do not write hashes to peer buffer
      ebpf: Fix RSS error handling
      ebpf: Return 0 when configuration fails
      ebpf: Refactor tun_rss_steering_prog()
      ebpf: Add a separate target for skeleton

 ebpf/rss.bpf.skeleton.h  | 1558 +++++++++++++++++++++++-----------------------
 include/net/net.h        |    8 -
 net/tap_int.h            |    1 -
 hw/net/e1000e.c          |    1 -
 hw/net/igb.c             |    1 -
 hw/net/net_tx_pkt.c      |    4 +-
 hw/net/virtio-net.c      |  264 ++++----
 hw/net/vmxnet3.c         |    2 -
 net/dump.c               |    4 +-
 net/net.c                |   47 +-
 net/netmap.c             |    5 -
 net/tap-bsd.c            |    5 -
 net/tap-linux.c          |   20 -
 net/tap-solaris.c        |    5 -
 net/tap-stub.c           |    5 -
 net/tap.c                |   77 +--
 tools/ebpf/rss.bpf.c     |   44 +-
 tools/ebpf/Makefile.ebpf |   15 +-
 18 files changed, 948 insertions(+), 1118 deletions(-)
---
base-commit: e5c6528dce86d7a9ada7ecf02fcb7b8560955131
change-id: 20231210-rss-e7c98e722253

Best regards,
-- 
Akihiko Odaki <akihiko.odaki@daynix.com>



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

end of thread, other threads:[~2024-08-16 16:00 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-28  7:00 [PATCH v10 00/18] virtio-net RSS/hash report fixes and improvements Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 01/18] tap: Remove tap_probe_vnet_hdr_len() Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 02/18] tap: Remove qemu_using_vnet_hdr() Akihiko Odaki
2024-08-16 15:59   ` Jonathan Cameron via
2024-04-28  7:00 ` [PATCH v10 03/18] net: Move virtio-net header length assertion Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 04/18] net: Remove receive_raw() Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 05/18] tap: Call tap_receive_iov() from tap_receive() Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 06/18] tap: Shrink zeroed virtio-net header Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 07/18] virtio-net: Do not propagate ebpf-rss-fds errors Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 08/18] virtio-net: Add only one queue pair when realizing Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 09/18] virtio-net: Copy header only when necessary Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 10/18] virtio-net: Shrink header byte swapping buffer Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 11/18] virtio-net: Disable RSS on reset Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 12/18] virtio-net: Unify the logic to update NIC state for RSS Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 13/18] virtio-net: Always set populate_hash Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 14/18] virtio-net: Do not write hashes to peer buffer Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 15/18] ebpf: Fix RSS error handling Akihiko Odaki
2024-04-28  7:00 ` [PATCH v10 16/18] ebpf: Return 0 when configuration fails Akihiko Odaki
2024-04-28  7:01 ` [PATCH v10 17/18] ebpf: Refactor tun_rss_steering_prog() Akihiko Odaki
2024-04-28  7:01 ` [PATCH v10 18/18] ebpf: Add a separate target for skeleton Akihiko Odaki

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.