On Sun, May 23, 2021 at 09:39:51AM +0200, Hannes Reinecke wrote: > On 5/23/21 8:38 AM, Dongli Zhang wrote: > > 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