[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230609131817.712867-3-xianting.tian@linux.alibaba.com>
Date: Fri, 9 Jun 2023 21:18:16 +0800
From: Xianting Tian <xianting.tian@...ux.alibaba.com>
To: arei.gonglei@...wei.com, mst@...hat.com, jasowang@...hat.com,
xuanzhuo@...ux.alibaba.com, herbert@...dor.apana.org.au,
davem@...emloft.net, amit@...nel.org, arnd@...db.de,
gregkh@...uxfoundation.org, marcel@...tmann.org,
johan.hedberg@...il.com, luiz.dentz@...il.com
Cc: linux-bluetooth@...r.kernel.org,
virtualization@...ts.linux-foundation.org,
linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
Xianting Tian <xianting.tian@...ux.alibaba.com>
Subject: [PATCH 2/3] virtio_console: fixup potential cpu stall when free unused bufs
Cpu stall issue may happen if device is configured with multi queues
and large queue depth, so fix it.
Signed-off-by: Xianting Tian <xianting.tian@...ux.alibaba.com>
---
drivers/char/virtio_console.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index b65c809a4e97..5ec4cf4ea919 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -1935,6 +1935,7 @@ static void remove_vqs(struct ports_device *portdev)
flush_bufs(vq, true);
while ((buf = virtqueue_detach_unused_buf(vq)))
free_buf(buf, true);
+ cond_resched();
}
portdev->vdev->config->del_vqs(portdev->vdev);
kfree(portdev->in_vqs);
--
2.17.1
Powered by blists - more mailing lists