[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-comment] Re: [PATCH 3/5] virtqueue: constraints for virtqueue state
On Mon, Sep 18, 2023 at 11:02:18AM +0800, Zhu, Lingshan wrote: > > > On 9/15/2023 7:16 PM, Michael S. Tsirkin wrote: > > On Fri, Sep 15, 2023 at 10:59:29AM +0800, Zhu, Lingshan wrote: > > > > > > On 9/14/2023 7:30 PM, Michael S. Tsirkin wrote: > > > > On Wed, Sep 06, 2023 at 04:16:35PM +0800, Zhu Lingshan wrote: > > > > > This commit specifies the constraints of the virtqueue state, > > > > > and the actions should be taken by the device when SUSPEND > > > > > and DRIVER_OK is set > > > > > > > > > > Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com> > > > > > Signed-off-by: Jason Wang <jasowang@redhat.com> > > > > > Signed-off-by: Eugenio Pérez <eperezma@redhat.com> > > > > > --- > > > > > content.tex | 19 +++++++++++++++++++ > > > > > 1 file changed, 19 insertions(+) > > > > > > > > > > diff --git a/content.tex b/content.tex > > > > > index 0fab537..9d727ce 100644 > > > > > --- a/content.tex > > > > > +++ b/content.tex > > > > > @@ -594,6 +594,25 @@ \subsection{\field{Used State} Field} > > > > > When VIRTIO_RING_F_PACKED is not negotiated, the 16-bit value of \field{used_idx} > > > > > is always 0 > > > > > +\drivernormative{\subsection}{Virtqueue State}{Basic Facilities of a Virtio Device / Virtqueue State} > > > > > + > > > > > +If VIRTIO_F_QUEUE_STATE has been negotiated but VIRTIO_RING_F_PACKED not been negotiated, > > > > > +the driver SHOULD NOT access \field{Used State} of any virtqueues, it SHOULD use the > > > > > +used index in the used ring. > > > > > + > > > > > +\devicenormative{\subsection}{Virtqueue State}{Basic Facilities of a Virtio Device / Virtqueue State} > > > > > + > > > > > +If VIRTIO_F_QUEUE_STATE has been negotiated, the device SHOULD only accept setting > > > > > +Virtqueue State of any virtqueues when DRIVER_OK is not set in \field{device status}, > > > > > +or both of DRIVER_OK and SUSPEND are set in \field{device status}. > > > > > +Otherwise the device MUST ignore any writes to Virtqueue State of any virtqueues. > > > > > + > > > > > +If VIRTIO_F_QUEUE_STATE have been negotiated, when SUSPEND is set, > > > > > +the device MUST record the Virtqueue State of every enabled virtqueue > > > > > +in \field{Available State} and \field{Used State} respectively, > > > > record how? > > > This is transport specific, for PCI they are recorded in the common config > > > space, > > > two new fields of them are introduced in patch 5. > > > > that is not enough space to record state for every enabled vq. > They can work with queue_select like many other vq configurations. queue select is under driver control. > I will mention this in the comment. > > > > > > > +and correspondingly restore the Virtqueue State of every enabled virtqueue > > > > > +from \field{Available State} and \field{Used State} when DRIVER_OK is set. > > > > when is that? > > > When the DRIVER sets DRIVER_OK and done before the device presents > > > DRIVER_OK. > > I don't really understand the flow here. does SUSPEND clear DRIVER_OK > > then? > SUSPEND does not clear DRIVER, I think this is not a must. then I don't get what does "when DRIVER_OK is set" mean - it stays set all the time. > > > > > > > > > > > > > + > > > > > \input{admin.tex} > > > > > \chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation} > > > > > -- > > > > > 2.35.3 > > > > This publicly archived list offers a means to provide input to the > > OASIS Virtual I/O Device (VIRTIO) TC. > > > > In order to verify user consent to the Feedback License terms and > > to minimize spam in the list archive, subscription is required > > before posting. > > > > Subscribe: virtio-comment-subscribe@lists.oasis-open.org > > Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org > > List help: virtio-comment-help@lists.oasis-open.org > > List archive: https://lists.oasis-open.org/archives/virtio-comment/ > > Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf > > List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists > > Committee: https://www.oasis-open.org/committees/virtio/ > > Join OASIS: https://www.oasis-open.org/join/ > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]