[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-comment] [RFC PATCH 3/5] virtio: The actions by the device upon SUSPEND
On 8/14/2023 11:00 PM, Stefan Hajnoczi wrote:
Nice catch! will fix: when the driver sets SUSPEND, before the device reports theOn Tue, Aug 15, 2023 at 03:29:02AM +0800, Zhu Lingshan wrote:This commit specifies the actions to be taken by the device upon SUSPEND. Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Eugenio PÃrez <eperezma@redhat.com> Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com> --- content.tex | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/content.tex b/content.tex index 074f43e..43bd5de 100644 --- a/content.tex +++ b/content.tex @@ -96,6 +96,15 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev If VIRTIO_F_SUSPEND is negotiated and SUSPEND is set, the device MUST clear SUSPEND and resumes operation upon DRIVER_OK.+If VIRTIO_F_SUSPEND is negotiated, when SUSPEND is set, the device MUST perform the following operations:"when SUSPEND is set" is ambigious. It could mean when the driver writes the Device Status Field, when the device transitions to SUSPEND, or something else. Maybe "before the device reports the SUSPEND bit set in the Device Status Field"?
SUSPEND bit set in the \field{device status}, the device MUST perform the following actions.
+\begin{itemize} +\item Stop comsuming any descriptors"consuming"
yes
It may be more consistent to talk about virtqueue buffers (i.e. requests) rather than descriptors here.
yes
+\item Mark all finished descriptors as used and send used buffer notification to the driverThe device has to complete everything that is in flight, just completing "finished" stuff is not enough. Does "finished descriptors" really mean "in-flight virtqueue buffers"?
A patch of tracking in-flight descriptors is planned. Here I expect "finished" mean "done" buffers, transmitted and received ACK.
"send a used buffer notification" or "send used buffer notifications"
Yes will fix
Yes, to avoid race with the device and make device implementation easier, this is also mentioned in Patch 4.+\item Record Virtqueue State of each enabled virtqueue, see section \ref{sec:Virtqueues / Virtqueue State}Does "Record" mean that Virtqueue State fields can only be accessed by the driver while device is paused (they may be outdated or invalid while the device is unpaused)?
Yes, once the device presents SUSPEND in its device status, it should not change any+\item Pause its operation and preserve all configurations in its Device Configuration Space, see \ref{sec:Basic Facilities of a Virtio Device / Device Configuration Space}What does "preserve" mean? Does it mean the Device Configuration Space is not allowed to change during SUSPEND?
fields in its Device Configuration Space. Thanks for your review
+\item Present SUSPEND in \field{device status} +\end{itemize} + \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature Bits}Each virtio device offers all the features it understands. During-- 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]