[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [RFC PATCH 4/5] virtqueue: constraints for virtqueue state
On Tue, Aug 15, 2023 at 7:30âPM Zhu, Lingshan <lingshan.zhu@intel.com> wrote: > > > > On 8/15/2023 8:34 AM, Jason Wang wrote: > > On Mon, Aug 14, 2023 at 7:29âPM Zhu Lingshan <lingshan.zhu@intel.com> 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: Jason Wang <jasowang@redhat.com> > >> Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com> > >> --- > >> content.tex | 31 +++++++++++++++++++++++++++++++ > >> 1 file changed, 31 insertions(+) > >> > >> diff --git a/content.tex b/content.tex > >> index 43bd5de..f6ac581 100644 > >> --- a/content.tex > >> +++ b/content.tex > >> @@ -587,6 +587,37 @@ \subsection{\field{Used State} Field} > >> > >> See also \ref{sec:Packed Virtqueues / Driver and Device Ring Wrap Counters}. > >> > >> +\drivernormative{\subsection}{Virtqueue State}{Basic Facilities of a Virtio Device / Virtqueue State} > >> + > >> +If VIRTIO_F_QUEUE_STATE has been negotiated, the driver MUST set SUSPEND in \field{device status} > >> +first before getting or setting Virtqueue State of any virtqueues. > > I don't get why this is a must. It could be useful for debugging. > To avoid race conditions with the device and make the device > implementation easier replied in another thread. > > > >> + > >> +If VIRTIO_F_QUEUE_STATE has been negotiaged but VIRTIO_RING_F_PACKED not been negotiated, > > typo > yes > > > >> +the driver MUST 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 but SUSPEND is not set in \field{device status}, > >> +the device MUST ignore any accesses against Virtqueue State of any virtqueues. > > Btw, do we need to clarify the behavior of ring reset after suspending? > I think once suspended, the device should ignore resetting a queue This needs to be clarified. Thanks
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]