qemu-cr16/include/hw/virtio
Akihiko Odaki adda0ad56b virtio-net: Add queues for RSS during migration
virtio_net_pre_load_queues() inspects vdev->guest_features to tell if
VIRTIO_NET_F_RSS or VIRTIO_NET_F_MQ is enabled to infer the required
number of queues. This works for VIRTIO_NET_F_MQ but it doesn't for
VIRTIO_NET_F_RSS because only the lowest 32 bits of vdev->guest_features
is set at the point and VIRTIO_NET_F_RSS uses bit 60 while
VIRTIO_NET_F_MQ uses bit 22.

Instead of inferring the required number of queues from
vdev->guest_features, use the number loaded from the vm state. This
change also has a nice side effect to remove a duplicate peer queue
pair change by circumventing virtio_net_set_multiqueue().

Also update the comment in include/hw/virtio/virtio.h to prevent an
implementation of pre_load_queues() from refering to any fields being
loaded during migration by accident in the future.

Fixes: 8c49756825 ("virtio-net: Add only one queue pair when realizing")

Tested-by: Lei Yang <leiyang@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2025-07-14 13:26:52 +08:00
..
cbor-helpers.h device/virtio-nsm: Support for Nitro Secure Module device 2024-10-31 18:28:32 +01:00
iothread-vq-mapping.h virtio: extract iothread-vq-mapping.h API 2025-03-13 17:57:23 +01:00
vdpa-dev.h
vhost-backend.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
vhost-scsi-common.h vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-scsi.h
vhost-user-base.h
vhost-user-blk.h
vhost-user-fs.h
vhost-user-gpio.h
vhost-user-i2c.h
vhost-user-rng.h
vhost-user-scmi.h
vhost-user-scsi.h
vhost-user-snd.h
vhost-user-vsock.h
vhost-user.h virtio/vhost-user: fix qemu abort when hotunplug vhost-user-net device 2024-11-04 16:03:24 -05:00
vhost-vdpa.h vdpa: move iova_tree allocation to net_vhost_vdpa_init 2025-06-02 14:29:15 -04:00
vhost-vsock-common.h vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-vsock.h
vhost.h vhost: return failure if stop virtqueue failed in vhost_dev_stop 2025-05-14 05:39:14 -04:00
virtio-access.h
virtio-acpi.h license: Update deprecated SPDX tag GPL-2.0+ to GPL-2.0-or-later 2024-09-20 10:11:59 +03:00
virtio-balloon.h hw/virtio: reset virtio balloon stats on machine reset 2025-02-21 07:18:42 -05:00
virtio-blk-common.h
virtio-blk.h hw/vmapple/virtio-blk: Add support for apple virtio-blk 2025-03-04 14:45:34 +01:00
virtio-bus.h
virtio-crypto.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
virtio-dmabuf.h
virtio-gpu-bswap.h
virtio-gpu-pci.h
virtio-gpu-pixman.h
virtio-gpu.h virtio-gpu: Add definition for resource_uuid feature 2025-01-15 13:05:26 -05:00
virtio-input.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
virtio-iommu.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
virtio-md-pci.h
virtio-mem.h hw/virtio/virtio-mem: Fix definition of VirtIOMEMClass 2025-06-10 12:59:09 +02:00
virtio-mmio.h
virtio-net.h hw/net/virtio-net.c: Don't assume IP length field is aligned 2024-11-18 13:45:45 +01:00
virtio-nsm.h device/virtio-nsm: Support for Nitro Secure Module device 2024-10-31 18:28:32 +01:00
virtio-pci.h hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_DISABLE_PCIE definition 2025-05-30 09:52:08 +02:00
virtio-pmem.h hw/virtio/virtio-pmem: Fix definition of VirtIOPMEMClass 2025-06-10 12:59:09 +02:00
virtio-rng.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
virtio-scsi.h virtio-scsi: handle ctrl virtqueue in main loop 2025-03-13 17:57:23 +01:00
virtio-serial.h
virtio.h virtio-net: Add queues for RSS during migration 2025-07-14 13:26:52 +08:00