From da7bbcdc6dccce48be94b704b737b86a06a6c8ae Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: May 24 2023 13:41:27 +0000 Subject: virtio_net: suppress cpu stall when free_unused_bufs (git-fixes). --- diff --git a/patches.suse/virtio_net-suppress-cpu-stall-when-free_unused_bufs.patch b/patches.suse/virtio_net-suppress-cpu-stall-when-free_unused_bufs.patch new file mode 100644 index 0000000..fc51b31 --- /dev/null +++ b/patches.suse/virtio_net-suppress-cpu-stall-when-free_unused_bufs.patch @@ -0,0 +1,42 @@ +Patch-mainline: v6.4-rc1 +Git-commit: f8bb5104394560e29017c25bcade4c6b7aabd108 +References: git-fixes +From: Wenliang Wang +Date: Thu, 4 May 2023 10:27:06 +0800 +Subject: [PATCH] virtio_net: suppress cpu stall when free_unused_bufs + +For multi-queue and large ring-size use case, the following error +occurred when free_unused_bufs: +rcu: INFO: rcu_sched self-detected stall on CPU. + +Fixes: 986a4f4d452d ("virtio_net: multiqueue support") +Signed-off-by: Wenliang Wang +Acked-by: Michael S. Tsirkin +Signed-off-by: David S. Miller +Signed-off-by: Juergen Gross +--- + drivers/net/virtio_net.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c +index 8d8038538fc4..a12ae26db0e2 100644 +--- a/drivers/net/virtio_net.c ++++ b/drivers/net/virtio_net.c +@@ -3560,12 +3560,14 @@ static void free_unused_bufs(struct virtnet_info *vi) + struct virtqueue *vq = vi->sq[i].vq; + while ((buf = virtqueue_detach_unused_buf(vq)) != NULL) + virtnet_sq_free_unused_buf(vq, buf); ++ cond_resched(); + } + + for (i = 0; i < vi->max_queue_pairs; i++) { + struct virtqueue *vq = vi->rq[i].vq; + while ((buf = virtqueue_detach_unused_buf(vq)) != NULL) + virtnet_rq_free_unused_buf(vq, buf); ++ cond_resched(); + } + } + +-- +2.35.3 + diff --git a/series.conf b/series.conf index 197b839..c2f9ab2 100644 --- a/series.conf +++ b/series.conf @@ -19998,6 +19998,7 @@ patches.suse/sfc-Fix-module-EEPROM-reporting-for-QSFP-modules.patch patches.suse/netfilter-nf_tables-deactivate-anonymous-set-from-pr.patch patches.suse/igc-read-before-write-to-SRRCTL-register.patch + patches.suse/virtio_net-suppress-cpu-stall-when-free_unused_bufs.patch patches.suse/ALSA-hda-realtek-Add-quirk-for-ThinkPad-P1-Gen-6.patch patches.suse/ALSA-hda-realtek-Add-quirk-for-ASUS-UM3402YAR-using-.patch patches.suse/ALSA-hda-realtek-support-HP-Pavilion-Aero-13-be0xxx-.patch