[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YKupFeOtc6Pr5KS2@stefanha-x1.localdomain>
Date: Mon, 24 May 2021 14:24:37 +0100
From: Stefan Hajnoczi <stefanha@...hat.com>
To: Hannes Reinecke <hare@...e.de>
Cc: Dongli Zhang <dongli.zhang@...cle.com>,
virtualization@...ts.linux-foundation.org,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-block@...r.kernel.org, mst@...hat.com, jasowang@...hat.com,
pbonzini@...hat.com, jejb@...ux.ibm.com,
martin.petersen@...cle.com, joe.jin@...cle.com,
junxiao.bi@...cle.com, srinivas.eeda@...cle.com
Subject: Re: [RFC] virtio_scsi: to poll and kick the virtqueue in timeout
handler
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
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists