From 1ebc4fa29116fa4321b49f22954b0e7de452fd01 Mon Sep 17 00:00:00 2001 From: eastmoutain <14304864+eastmoutain@user.noreply.gitee.com> Date: Mon, 17 Jun 2024 10:33:18 +0800 Subject: [PATCH] update event idx if guest has made extra available buffer during double check If guest has made some buffers available during double check, but the total buffer size available is lower than @bufsize, notify the guest with the latest available idx(event idx) seen by the host. --- ...t-Update-event-idx-if-guest-has-made.patch | 31 +++++++++++++++++++ qemu.spec | 7 ++++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 1052-hw-net-virtio-net-Update-event-idx-if-guest-has-made.patch diff --git a/1052-hw-net-virtio-net-Update-event-idx-if-guest-has-made.patch b/1052-hw-net-virtio-net-Update-event-idx-if-guest-has-made.patch new file mode 100644 index 0000000..b0d6294 --- /dev/null +++ b/1052-hw-net-virtio-net-Update-event-idx-if-guest-has-made.patch @@ -0,0 +1,31 @@ +From b93fbd340ded30b49af77ad5e348b93419e69cc0 Mon Sep 17 00:00:00 2001 +From: eastmoutain <14304864+eastmoutain@user.noreply.gitee.com> +Date: Mon, 17 Jun 2024 10:00:46 +0800 +Subject: [PATCH] hw/net: virtio-net: Update event idx if guest has made extra + buffers during double check + +If guest has made some buffers available during double check, +but the total buffer size available is lower than @bufsize, +notify the guest with the latest available idx(event idx) +seen by the host. + +Signed-off-by: yangwencheng +--- + hw/net/virtio-net.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c +index 80c56f0cf..dc0b65501 100644 +--- a/hw/net/virtio-net.c ++++ b/hw/net/virtio-net.c +@@ -1648,6 +1648,7 @@ static int virtio_net_has_buffers(VirtIONetQueue *q, int bufsize) + if (virtio_queue_empty(q->rx_vq) || + (n->mergeable_rx_bufs && + !virtqueue_avail_bytes(q->rx_vq, bufsize, 0))) { ++ virtio_queue_set_notification(q->rx_vq, 1); + return 0; + } + } +-- +2.39.3 + diff --git a/qemu.spec b/qemu.spec index 2fa4bd7..513a37c 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,4 +1,4 @@ -%define anolis_release 15 +%define anolis_release 16 %bcond_with check @@ -355,6 +355,7 @@ Patch1048: 1048-target-i386-sev-Add-support-for-reuse-ASID-for-diffe.patch Patch1049: 1049-target-i386-Add-Hygon-Dhyana-v3-CPU-model.patch Patch1050: 1050-target-i386-Add-new-Hygon-Dharma-CPU-model.patch Patch1051: 1051-vfio-Add-vfio-based-mediated-hct-support.patch +Patch1052: 1052-hw-net-virtio-net-Update-event-idx-if-guest-has-made.patch ExclusiveArch: x86_64 aarch64 loongarch64 @@ -1918,6 +1919,10 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %endif %changelog +* Mon Jun 17 2024 Wencheng Yang - 2:8.2.0-16 +- Patch1052: 1052-hw-net-virtio-net-Update-event-idx-if-guest-has-made.patch + (Update virtio-net event idx after double check) + * Fri Jun 7 2024 Depei Yang -2.8.2.0-15 - Patch1051: 1051-vfio-Add-vfio-based-mediated-hct-support.patch (Add HCT support for hygon platform) -- Gitee