From: Hawkins Jiawei <yin31149@gmail.com>
To: jasowang@redhat.com, mst@redhat.com, eperezma@redhat.com
Cc: qemu-devel@nongnu.org, yin31149@gmail.com, 18801353760@163.com
Subject: [PATCH v5 0/3] Vhost-vdpa Shadow Virtqueue RSS Support
Date: Wed, 25 Oct 2023 09:08:03 +0800 [thread overview]
Message-ID: <cover.1698195059.git.yin31149@gmail.com> (raw)
This series enables shadowed CVQ to intercept RSS command
through shadowed CVQ, update the virtio NIC device model
so qemu send it in a migration, and the restore of that
RSS state in the destination.
Note that this patch should be based on
patch "Vhost-vdpa Shadow Virtqueue Hash calculation Support" at [1].
[1]. https://lore.kernel.org/all/cover.1698194366.git.yin31149@gmail.com/
ChangeLog
=========
v5:
- resolve conflict with the updated patch
"Vhost-vdpa Shadow Virtqueue Hash calculation Support" at [1]
v4: https://lore.kernel.org/all/cover.1697904740.git.yin31149@gmail.com/
- add do_rss argument and relative code in vhost_vdpa_net_load_rss()
v3: https://lore.kernel.org/all/cover.1693299194.git.yin31149@gmail.com/
- resolve conflict with updated patch
"Vhost-vdpa Shadow Virtqueue Hash calculation Support" in patch
"vdpa: Restore receive-side scaling state"
RFC v2: https://lore.kernel.org/all/cover.1691926415.git.yin31149@gmail.com/
- Correct the feature usage to VIRTIO_NET_F_HASH_REPORT when
loading the hash calculation state in
patch "vdpa: Restore receive-side scaling state"
RFC v1: https://lore.kernel.org/all/cover.1691766252.git.yin31149@gmail.com/
TestStep
========
1. regression testing using vp-vdpa device
- For L0 guest, boot QEMU with two virtio-net-pci net device with
`ctrl_vq`, `mq`, `hash` features on, command line like:
-netdev tap,...
-device virtio-net-pci,disable-legacy=on,disable-modern=off,
iommu_platform=on,mq=on,ctrl_vq=on,hash=on,guest_announce=off,
indirect_desc=off,queue_reset=off,guest_uso4=off,guest_uso6=off,
host_uso=off,...
- For L1 guest, apply the relative patch series and compile the
source code, start QEMU with two vdpa device with svq mode on,
enable the `ctrl_vq`, `mq`, `hash` features on, command line like:
-netdev type=vhost-vdpa,x-svq=true,...
-device virtio-net-pci,mq=on,guest_announce=off,ctrl_vq=on,
hash=on,...
- For L2 source guest, run the following bash command:
```bash
#!/bin/sh
ethtool -K eth0 rxhash on
```
- Gdb attach the destination VM and break at the
vhost_vdpa_net_load_rss()
- Execute the live migration in L2 source monitor
- Result
* with this series, gdb can hit the breakpoint and continue
the executing without triggering any error or warning.
2. test the migration using vp-vdpa device
- For L0 guest, boot QEMU with two virtio-net-pci net device with
`in-qemu` RSS, command line like:
-netdev tap,vhost=off...
-device virtio-net-pci,disable-legacy=on,disable-modern=off,
iommu_platform=on,mq=on,ctrl_vq=on,hash=on,rss=on,guest_announce=off,
indirect_desc=off,queue_reset=off,guest_uso4=off,guest_uso6=off,
host_uso=off,...
- For L1 guest, apply the relative patch series and compile the
source code, start QEMU with two vdpa device with svq mode on,
enable the `ctrl_vq`, `mq`, `rss` features on, command line like:
-netdev type=vhost-vdpa,x-svq=true,...
-device virtio-net-pci,mq=on,guest_announce=off,ctrl_vq=on,
rss=on,...
- For L2 source guest, run the following bash command:
```bash
#!/bin/sh
ethtool -K eth0 rxhash on
```
- Execute the live migration in L2 source monitor
- Result
* with this series, L2 QEMU can execute without
triggering any error or warning. L0 QEMU echo
"Can't load eBPF RSS - fallback to software RSS".
Hawkins Jiawei (3):
vdpa: Add SetSteeringEBPF method for NetClientState
vdpa: Restore receive-side scaling state
vdpa: Allow VIRTIO_NET_F_RSS in SVQ
net/vhost-vdpa.c | 76 +++++++++++++++++++++++++++++++++---------------
1 file changed, 53 insertions(+), 23 deletions(-)
--
2.25.1
next reply other threads:[~2023-10-25 1:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-25 1:08 Hawkins Jiawei [this message]
2023-10-25 1:08 ` [PATCH v5 1/3] vdpa: Add SetSteeringEBPF method for NetClientState Hawkins Jiawei
2023-10-25 1:08 ` [PATCH v5 2/3] vdpa: Restore receive-side scaling state Hawkins Jiawei
2023-11-03 14:42 ` Eugenio Perez Martin
2023-10-25 1:08 ` [PATCH v5 3/3] vdpa: Allow VIRTIO_NET_F_RSS in SVQ Hawkins Jiawei
2023-11-03 14:43 ` Eugenio Perez Martin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1698195059.git.yin31149@gmail.com \
--to=yin31149@gmail.com \
--cc=18801353760@163.com \
--cc=eperezma@redhat.com \
--cc=jasowang@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.