From: Zhu Lingshan <lingshan.zhu@intel.com>
To: jasowang@redhat.com, mst@redhat.com, eperezma@redhat.com,
cohuck@redhat.com
Cc: virtio-comment@lists.oasis-open.org,
virtio-dev@lists.oasis-open.org,
Zhu Lingshan <lingshan.zhu@intel.com>
Subject: [virtio-comment] [RFC PATCH 4/5] virtqueue: constraints for virtqueue state
Date: Tue, 15 Aug 2023 03:29:03 +0800 [thread overview]
Message-ID: <20230814192904.30062-5-lingshan.zhu@intel.com> (raw)
In-Reply-To: <20230814192904.30062-1-lingshan.zhu@intel.com>
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.
+
+If VIRTIO_F_QUEUE_STATE has been negotiaged but VIRTIO_RING_F_PACKED not been negotiated,
+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.
+
+When VIRTIO_F_QUEUE_STATE has been negotiated but VIRTIO_RING_F_PACKED is not,
+the device MUST ignore any accesses against \field{Used State}.
+
+If VIRTIO_F_QUEUE_STATE has been negotiaged, the device MUST reset
+the Virtqueue State of every virtqueue upon a reset.
+
+If VIRTIO_F_QUEUE_STATE and VIRTIO_RING_F_PACKED have been negotiaged, when SUSPEND is set,
+the device MUST record the Virtqueue State of every enabled virtqueue
+in \field{Available State} and \field{Used State} respectively,
+and correspondingly restore the Virtqueue State of every enabled virtqueue
+from \field{Avaiable State} and \field{Used State} when DRIVER_OK is set.
+
+If VIRTIO_F_QUEUE_STATE has been negotiated but VIRTIO_RING_F_PACKED has been not, when SUSPEND is set,
+the device MUST record the available state of every enabled virtqueue in \field{Available State},
+and restore the available state of every enabled virtqueue from \field{Avaiable State}
+when DRIVER_OK is set.
+
\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/
WARNING: multiple messages have this Message-ID (diff)
From: Zhu Lingshan <lingshan.zhu@intel.com>
To: jasowang@redhat.com, mst@redhat.com, eperezma@redhat.com,
cohuck@redhat.com
Cc: virtio-comment@lists.oasis-open.org,
virtio-dev@lists.oasis-open.org,
Zhu Lingshan <lingshan.zhu@intel.com>
Subject: [virtio-dev] [RFC PATCH 4/5] virtqueue: constraints for virtqueue state
Date: Tue, 15 Aug 2023 03:29:03 +0800 [thread overview]
Message-ID: <20230814192904.30062-5-lingshan.zhu@intel.com> (raw)
In-Reply-To: <20230814192904.30062-1-lingshan.zhu@intel.com>
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.
+
+If VIRTIO_F_QUEUE_STATE has been negotiaged but VIRTIO_RING_F_PACKED not been negotiated,
+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.
+
+When VIRTIO_F_QUEUE_STATE has been negotiated but VIRTIO_RING_F_PACKED is not,
+the device MUST ignore any accesses against \field{Used State}.
+
+If VIRTIO_F_QUEUE_STATE has been negotiaged, the device MUST reset
+the Virtqueue State of every virtqueue upon a reset.
+
+If VIRTIO_F_QUEUE_STATE and VIRTIO_RING_F_PACKED have been negotiaged, when SUSPEND is set,
+the device MUST record the Virtqueue State of every enabled virtqueue
+in \field{Available State} and \field{Used State} respectively,
+and correspondingly restore the Virtqueue State of every enabled virtqueue
+from \field{Avaiable State} and \field{Used State} when DRIVER_OK is set.
+
+If VIRTIO_F_QUEUE_STATE has been negotiated but VIRTIO_RING_F_PACKED has been not, when SUSPEND is set,
+the device MUST record the available state of every enabled virtqueue in \field{Available State},
+and restore the available state of every enabled virtqueue from \field{Avaiable State}
+when DRIVER_OK is set.
+
\input{admin.tex}
\chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation}
--
2.35.3
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
next prev parent reply other threads:[~2023-08-14 11:29 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-14 19:28 [virtio-comment] [RFC PATCH 0/5] virtio: introduce SUSPEND bit and vq state Zhu Lingshan
2023-08-14 19:28 ` [virtio-dev] " Zhu Lingshan
2023-08-14 14:20 ` [virtio-comment] " Stefan Hajnoczi
2023-08-14 14:20 ` [virtio-dev] " Stefan Hajnoczi
2023-08-14 15:47 ` Stefan Hajnoczi
2023-08-14 15:47 ` [virtio-dev] " Stefan Hajnoczi
2023-08-15 1:38 ` Jason Wang
2023-08-15 1:38 ` [virtio-dev] " Jason Wang
2023-08-15 10:14 ` Zhu, Lingshan
2023-08-15 10:14 ` [virtio-dev] " Zhu, Lingshan
2023-08-14 19:29 ` [virtio-comment] [RFC PATCH 1/5] virtio: introduce SUSPEND bit in device status Zhu Lingshan
2023-08-14 19:29 ` [virtio-dev] " Zhu Lingshan
2023-08-14 14:30 ` [virtio-comment] " Stefan Hajnoczi
2023-08-14 14:30 ` [virtio-dev] " Stefan Hajnoczi
2023-08-15 10:31 ` Zhu, Lingshan
2023-08-15 10:31 ` [virtio-dev] " Zhu, Lingshan
2023-08-15 12:29 ` Stefan Hajnoczi
2023-08-15 12:29 ` [virtio-dev] " Stefan Hajnoczi
2023-08-17 15:15 ` Eugenio Perez Martin
2023-08-17 15:15 ` [virtio-dev] " Eugenio Perez Martin
2023-08-17 16:04 ` Stefan Hajnoczi
2023-08-17 16:04 ` [virtio-dev] " Stefan Hajnoczi
2023-08-18 9:55 ` Zhu, Lingshan
2023-08-18 9:55 ` [virtio-dev] " Zhu, Lingshan
2023-08-21 13:45 ` Stefan Hajnoczi
2023-08-21 13:45 ` [virtio-dev] " Stefan Hajnoczi
2023-08-15 0:26 ` [virtio-comment] " Jason Wang
2023-08-15 0:26 ` [virtio-dev] " Jason Wang
2023-08-15 0:37 ` [virtio-comment] " Jason Wang
2023-08-15 0:37 ` [virtio-dev] " Jason Wang
2023-08-15 10:48 ` [virtio-comment] " Zhu, Lingshan
2023-08-15 10:48 ` [virtio-dev] " Zhu, Lingshan
2023-08-16 1:58 ` [virtio-comment] " Jason Wang
2023-08-16 1:58 ` [virtio-dev] " Jason Wang
2023-08-16 2:17 ` [virtio-comment] " Zhu, Lingshan
2023-08-16 2:17 ` [virtio-dev] " Zhu, Lingshan
2023-08-15 10:50 ` [virtio-comment] " Zhu, Lingshan
2023-08-15 10:50 ` [virtio-dev] " Zhu, Lingshan
2023-08-16 2:05 ` [virtio-comment] " Jason Wang
2023-08-16 2:05 ` [virtio-dev] " Jason Wang
2023-08-16 2:20 ` Zhu, Lingshan
2023-08-16 2:20 ` [virtio-dev] " Zhu, Lingshan
2023-08-14 19:29 ` [virtio-comment] [RFC PATCH 2/5] virtio: introduce vq state as basic facility Zhu Lingshan
2023-08-14 19:29 ` [virtio-dev] " Zhu Lingshan
2023-08-14 14:49 ` [virtio-comment] " Stefan Hajnoczi
2023-08-14 14:49 ` Stefan Hajnoczi
2023-08-15 10:53 ` [virtio-comment] " Zhu, Lingshan
2023-08-15 10:53 ` Zhu, Lingshan
2023-08-14 19:29 ` [virtio-comment] [RFC PATCH 3/5] virtio: The actions by the device upon SUSPEND Zhu Lingshan
2023-08-14 19:29 ` [virtio-dev] " Zhu Lingshan
2023-08-14 15:00 ` [virtio-comment] " Stefan Hajnoczi
2023-08-14 15:00 ` [virtio-dev] " Stefan Hajnoczi
2023-08-15 11:07 ` Zhu, Lingshan
2023-08-15 11:07 ` [virtio-dev] " Zhu, Lingshan
2023-08-15 12:33 ` Stefan Hajnoczi
2023-08-15 12:33 ` [virtio-dev] " Stefan Hajnoczi
2023-08-16 4:25 ` Zhu, Lingshan
2023-08-16 4:25 ` [virtio-dev] " Zhu, Lingshan
2023-08-16 12:33 ` Stefan Hajnoczi
2023-08-16 12:33 ` [virtio-dev] " Stefan Hajnoczi
2023-08-15 0:29 ` [virtio-comment] " Jason Wang
2023-08-15 0:29 ` [virtio-dev] " Jason Wang
2023-08-15 11:16 ` [virtio-comment] " Zhu, Lingshan
2023-08-15 11:16 ` Zhu, Lingshan
2023-08-16 2:10 ` [virtio-comment] " Jason Wang
2023-08-16 2:10 ` Jason Wang
2023-08-16 4:53 ` [virtio-comment] " Zhu, Lingshan
2023-08-16 4:53 ` Zhu, Lingshan
2023-08-14 19:29 ` Zhu Lingshan [this message]
2023-08-14 19:29 ` [virtio-dev] [RFC PATCH 4/5] virtqueue: constraints for virtqueue state Zhu Lingshan
2023-08-14 15:15 ` [virtio-comment] " Stefan Hajnoczi
2023-08-14 15:15 ` Stefan Hajnoczi
2023-08-15 11:18 ` [virtio-comment] " Zhu, Lingshan
2023-08-15 11:18 ` Zhu, Lingshan
2023-08-15 0:34 ` [virtio-comment] " Jason Wang
2023-08-15 0:34 ` [virtio-dev] " Jason Wang
2023-08-15 11:30 ` [virtio-comment] " Zhu, Lingshan
2023-08-15 11:30 ` [virtio-dev] " Zhu, Lingshan
2023-08-16 2:11 ` [virtio-comment] " Jason Wang
2023-08-16 2:11 ` [virtio-dev] " Jason Wang
2023-08-16 5:07 ` [virtio-comment] " Zhu, Lingshan
2023-08-16 5:07 ` Zhu, Lingshan
2023-08-17 8:31 ` [virtio-comment] " Uminski, Piotr
2023-08-17 8:42 ` Zhu, Lingshan
2023-08-17 8:42 ` [virtio-dev] " Zhu, Lingshan
2023-08-21 4:03 ` Jason Wang
2023-08-21 4:03 ` [virtio-dev] " Jason Wang
2023-08-17 15:19 ` Eugenio Perez Martin
2023-08-17 15:19 ` [virtio-dev] " Eugenio Perez Martin
2023-08-18 9:44 ` [virtio-comment] " Zhu, Lingshan
2023-08-18 9:44 ` [virtio-dev] " Zhu, Lingshan
2023-08-21 9:26 ` [virtio-comment] " Eugenio Perez Martin
2023-08-21 9:26 ` [virtio-dev] " Eugenio Perez Martin
2023-08-21 10:32 ` [virtio-comment] " Zhu, Lingshan
2023-08-21 10:32 ` [virtio-dev] " Zhu, Lingshan
2023-09-05 9:08 ` Zhu, Lingshan
2023-09-05 9:08 ` [virtio-dev] " Zhu, Lingshan
2023-09-07 8:09 ` Eugenio Perez Martin
2023-09-07 8:09 ` [virtio-dev] " Eugenio Perez Martin
2023-09-07 9:34 ` Zhu, Lingshan
2023-09-07 9:34 ` [virtio-dev] " Zhu, Lingshan
2023-09-08 6:23 ` Si-Wei Liu
2023-09-08 6:23 ` [virtio-dev] " Si-Wei Liu
2023-09-08 8:41 ` Zhu, Lingshan
2023-09-08 8:41 ` [virtio-dev] " Zhu, Lingshan
2023-08-14 19:29 ` [virtio-comment] [RFC PATCH 5/5] virtio-pci: implement VIRTIO_F_QUEUE_STATE Zhu Lingshan
2023-08-14 19:29 ` [virtio-dev] " Zhu Lingshan
2023-08-14 15:18 ` [virtio-comment] " Stefan Hajnoczi
2023-08-14 15:18 ` Stefan Hajnoczi
2023-08-15 11:31 ` [virtio-comment] " Zhu, Lingshan
2023-08-15 11:31 ` [virtio-dev] " Zhu, Lingshan
2023-08-15 0:35 ` [virtio-comment] " Jason Wang
2023-08-15 0:35 ` [virtio-dev] " Jason Wang
2023-08-15 11:31 ` [virtio-comment] " Zhu, Lingshan
2023-08-15 11:31 ` [virtio-dev] " Zhu, Lingshan
2023-08-17 3:04 ` [virtio-comment] Re: [RFC PATCH 0/5] virtio: introduce SUSPEND bit and vq state Zhu, Lingshan
2023-08-17 3:04 ` [virtio-dev] " Zhu, Lingshan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230814192904.30062-5-lingshan.zhu@intel.com \
--to=lingshan.zhu@intel.com \
--cc=cohuck@redhat.com \
--cc=eperezma@redhat.com \
--cc=jasowang@redhat.com \
--cc=mst@redhat.com \
--cc=virtio-comment@lists.oasis-open.org \
--cc=virtio-dev@lists.oasis-open.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.