net/vhost-vdpa.c | 63 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 18 deletions(-)
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.1693297766.git.yin31149@gmail.com/ TestStep ======== 1. 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,... - 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". ChangeLog ========= v3: - 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/ 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 | 63 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 18 deletions(-) -- 2.25.1
On Tue, Aug 29, 2023 at 05:11:14PM +0800, Hawkins Jiawei wrote: > 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.1693297766.git.yin31149@gmail.com/ dropped due to dependency. > TestStep > ======== > 1. 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,... > > - 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". > > ChangeLog > ========= > v3: > - 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/ > > 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 | 63 ++++++++++++++++++++++++++++++++++-------------- > 1 file changed, 45 insertions(+), 18 deletions(-) > > -- > 2.25.1
© 2016 - 2024 Red Hat, Inc.