From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Yuanhan Liu <yuanhan.liu@linux.intel.com>,
Victor Kaplansky <victork@redhat.com>,
Jason Wang <jasowang@redhat.com>,
Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>,
Changchun Ouyang <changchun.ouyang@intel.com>
Subject: [Qemu-devel] [PULL 10/15] specs/vhost-user: fix spec to match reality
Date: Thu, 19 Nov 2015 15:36:28 +0200 [thread overview]
Message-ID: <1447939696-28930-11-git-send-email-mst@redhat.com> (raw)
In-Reply-To: <1447939696-28930-1-git-send-email-mst@redhat.com>
We wanted to start/stop rings on VRING_ENABLE, but that is not what QEMU
does. Rather than tweaking code some more, with risk to stability, let's
just document it as it is.
We'll be able to fix this in the future with a new protocol feature bit.
Reported-by: Victor Kaplansky <victork@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
docs/specs/vhost-user.txt | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/docs/specs/vhost-user.txt b/docs/specs/vhost-user.txt
index df40cec..7b9cd6d 100644
--- a/docs/specs/vhost-user.txt
+++ b/docs/specs/vhost-user.txt
@@ -148,20 +148,26 @@ a feature bit was dedicated for this purpose:
Starting and stopping rings
----------------------
-Each ring is initialized in a stopped state, client must not process it until
-ring is enabled.
+Client must only process each ring when it is both started and enabled.
+
+If VHOST_USER_F_PROTOCOL_FEATURES has not been negotiated, the ring is initialized
+in an enabled state.
-If VHOST_USER_F_PROTOCOL_FEATURES has been negotiated, client must start and
-stop ring processing upon receiving VHOST_USER_SET_VRING_ENABLE with parameters
-1 and 0 respoectively.
+If VHOST_USER_F_PROTOCOL_FEATURES has been negotiated, the ring is initialized
+in a disabled state. Client must not process it until ring is enabled by
+VHOST_USER_SET_VRING_ENABLE with parameter 1, or after it has been disabled by
+VHOST_USER_SET_VRING_ENABLE with parameter 0.
+
+Each ring is initialized in a stopped state, client must not process it until
+ring is started, or after it has been stopped.
-If VHOST_USER_F_PROTOCOL_FEATURES has not been negotiated, client must start
-ring processing upon receiving a kick (that is, detecting that file descriptor
-is readable) on the descriptor specified by VHOST_USER_SET_VRING_KICK, and stop
-ring processing upon receiving VHOST_USER_GET_VRING_BASE.
+Client must start ring upon receiving a kick (that is, detecting that file
+descriptor is readable) on the descriptor specified by
+VHOST_USER_SET_VRING_KICK, and stop ring upon receiving
+VHOST_USER_GET_VRING_BASE.
-While rings are running, client must support changing some configuration
-aspects on the fly.
+While processing the rings (when they are started and enabled), client must
+support changing some configuration aspects on the fly.
Multiple queue support
----------------------
--
MST
next prev parent reply other threads:[~2015-11-19 13:36 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-19 13:35 [Qemu-devel] [PULL 00/15] vhost, pc: fixes for 2.5 Michael S. Tsirkin
2015-11-19 13:35 ` [Qemu-devel] [PULL 01/15] vhost: let SET_VRING_ENABLE message depends on protocol feature Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 02/15] vhost: don't send RESET_OWNER at stop Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 03/15] vhost-user: update spec description Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 04/15] vhost-user-test: support VHOST_USER_SET_VRING_ENABLE Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 05/15] vhost-user: print original request on error Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 06/15] vhost-user: start/stop all rings Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 07/15] q35: Check propery to determine if iommu is set Michael S. Tsirkin
2015-11-29 12:18 ` Marcel Apfelbaum
2015-11-29 18:22 ` Bandan Das
2015-11-30 11:38 ` Marcel Apfelbaum
2015-11-19 13:36 ` [Qemu-devel] [PULL 08/15] i440fx: print an error message if user tries to enable iommu Michael S. Tsirkin
2015-11-19 20:38 ` Bandan Das
2015-11-19 20:43 ` Michael S. Tsirkin
2015-11-19 20:55 ` Bandan Das
2015-11-19 20:56 ` Michael S. Tsirkin
2015-11-20 8:36 ` Michael S. Tsirkin
2015-11-19 21:00 ` Markus Armbruster
2015-11-20 9:43 ` Michael S. Tsirkin
2015-11-20 16:25 ` Bandan Das
2015-11-19 13:36 ` [Qemu-devel] [PULL 09/15] tests/vhost-user-bridge: implement logging of dirty pages Michael S. Tsirkin
2015-11-19 13:36 ` Michael S. Tsirkin [this message]
2015-11-19 13:36 ` [Qemu-devel] [PULL 11/15] vhost-user: ignore qemu-only features Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 12/15] vhost-user: fix log size Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 13/15] acpi: fix buffer overrun on migration Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 14/15] tests: re-enable vhost-user-test Michael S. Tsirkin
2015-11-19 13:36 ` [Qemu-devel] [PULL 15/15] exec: silence hugetlbfs warning under qtest Michael S. Tsirkin
2015-11-19 17:54 ` [Qemu-devel] [PULL 00/15] vhost, pc: fixes for 2.5 Peter Maydell
2015-11-26 11:26 ` Peter Maydell
2015-11-26 16:19 ` Michael S. Tsirkin
2015-11-26 16:24 ` Michael S. Tsirkin
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=1447939696-28930-11-git-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=changchun.ouyang@intel.com \
--cc=jasowang@redhat.com \
--cc=n.nikolaev@virtualopensystems.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=victork@redhat.com \
--cc=yuanhan.liu@linux.intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).