Message ID | 20230609131817.712867-3-xianting.tian@linux.alibaba.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 56b5e65efe0001fb5f95e412ee4167363debfc46 |
Headers | show |
Series | fixup potential cpu stall | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/CheckPatch | success | CheckPatch PASS |
tedd_an/GitLint | success | Gitlint PASS |
tedd_an/SubjectPrefix | fail | "Bluetooth: " prefix is not specified in the subject |
tedd_an/IncrementalBuild | success | Incremental Build PASS |
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
在 2023/6/10 上午12:05, Michael S. Tsirkin 写道: > 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" It is this one “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(+)