Thread (7 messages) 7 messages, 3 authors, 2021-05-25

Re: [RFC] virtio_scsi: to poll and kick the virtqueue in timeout handler

flat view

From: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2021-05-24 13:24:53
Also in: linux-block, linux-scsi, lkml

On Sun, May 23, 2021 at 09:39:51AM +0200, Hannes Reinecke wrote:
On 5/23/21 8:38 AM, Dongli Zhang wrote:
quoted
This RFC is to trigger the discussion about to poll and kick the
virtqueue on purpose in virtio-scsi timeout handler.

The virtio-scsi relies on the virtio vring shared between VM and host.
The VM side produces requests to vring and kicks the virtqueue, while the
host side produces responses to vring and interrupts the VM side.

By default the virtio-scsi handler depends on the host timeout handler
by BLK_EH_RESET_TIMER to give host a chance to perform EH.

However, this is not helpful for the case that the responses are available
on vring but the notification from host to VM is lost.
How can this happen?
If responses are lost the communication between VM and host is broken, and
we should rather reset the virtio rings themselves.
I agree. In principle it's fine to poll the virtqueue at any time, but I
don't understand the failure scenario here. It's not clear to me why the
device-to-driver vq notification could be lost.

Stefan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help