Message ID | 20230609131817.712867-3-xianting.tian@linux.alibaba.com |
---|---|
State | New |
Headers | show |
Series | fixup potential cpu stall | expand |
On Fri, Jun 09, 2023 at 09:18:16PM +0800, Xianting Tian wrote: > Cpu stall issue may happen if device is configured with multi queues > and large queue depth, so fix it. "may happen" is ambigous. So is this: "for virtio-net we were getting stall on CPU was observed message, this driver is similar so theoretically the same logic applies" or is this "the following error occured: ..... " ? > Signed-off-by: Xianting Tian <xianting.tian@linux.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
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);
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@linux.alibaba.com> --- drivers/char/virtio_console.c | 1 + 1 file changed, 1 insertion(+)