From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Fam Zheng <famz@redhat.com>,
qemu-block@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: [Qemu-devel] [PULL v3 09/21] vring: make vring_enable_notification return void
Date: Thu, 25 Feb 2016 13:20:48 +0200 [thread overview]
Message-ID: <1456399032-6172-10-git-send-email-mst@redhat.com> (raw)
In-Reply-To: <1456399032-6172-1-git-send-email-mst@redhat.com>
From: Paolo Bonzini <pbonzini@redhat.com>
Make the API more similar to the regular virtqueue API. This will
help when modifying the code to not use vring.c anymore.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
---
include/hw/virtio/dataplane/vring.h | 2 +-
hw/block/dataplane/virtio-blk.c | 3 ++-
hw/virtio/dataplane/vring.c | 3 +--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/hw/virtio/dataplane/vring.h b/include/hw/virtio/dataplane/vring.h
index e80985e..e1c2a65 100644
--- a/include/hw/virtio/dataplane/vring.h
+++ b/include/hw/virtio/dataplane/vring.h
@@ -42,7 +42,7 @@ static inline void vring_set_broken(Vring *vring)
bool vring_setup(Vring *vring, VirtIODevice *vdev, int n);
void vring_teardown(Vring *vring, VirtIODevice *vdev, int n);
void vring_disable_notification(VirtIODevice *vdev, Vring *vring);
-bool vring_enable_notification(VirtIODevice *vdev, Vring *vring);
+void vring_enable_notification(VirtIODevice *vdev, Vring *vring);
bool vring_should_notify(VirtIODevice *vdev, Vring *vring);
void *vring_pop(VirtIODevice *vdev, Vring *vring, size_t sz);
void vring_push(VirtIODevice *vdev, Vring *vring, VirtQueueElement *elem,
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index 0d99781..03b81bc 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -128,7 +128,8 @@ static void handle_notify(EventNotifier *e)
/* Re-enable guest->host notifies and stop processing the vring.
* But if the guest has snuck in more descriptors, keep processing.
*/
- if (vring_enable_notification(s->vdev, &s->vring)) {
+ vring_enable_notification(s->vdev, &s->vring);
+ if (!vring_more_avail(s->vdev, &s->vring)) {
break;
}
} else { /* fatal error */
diff --git a/hw/virtio/dataplane/vring.c b/hw/virtio/dataplane/vring.c
index 4308d9f..157e8b8 100644
--- a/hw/virtio/dataplane/vring.c
+++ b/hw/virtio/dataplane/vring.c
@@ -175,7 +175,7 @@ void vring_disable_notification(VirtIODevice *vdev, Vring *vring)
*
* Return true if the vring is empty, false if there are more requests.
*/
-bool vring_enable_notification(VirtIODevice *vdev, Vring *vring)
+void vring_enable_notification(VirtIODevice *vdev, Vring *vring)
{
if (virtio_vdev_has_feature(vdev, VIRTIO_RING_F_EVENT_IDX)) {
vring_avail_event(&vring->vr) = vring->vr.avail->idx;
@@ -183,7 +183,6 @@ bool vring_enable_notification(VirtIODevice *vdev, Vring *vring)
vring_clear_used_flags(vdev, vring, VRING_USED_F_NO_NOTIFY);
}
smp_mb(); /* ensure update is seen before reading avail_idx */
- return !vring_more_avail(vdev, vring);
}
/* This is stolen from linux/drivers/vhost/vhost.c:vhost_notify() */
--
MST
next prev parent reply other threads:[~2016-02-25 11:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-25 11:20 [Qemu-devel] [PULL v3 00/21] vhost, virtio, pci, pc Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-arm] [PULL v3 01/21] bios-linker-loader: document+validate input Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] " Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 02/21] vhost-user: don't merge regions with different fds Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 03/21] move get_current_ram_size to virtio-balloon.c Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 04/21] virtio-balloon: rewrite get_current_ram_size() Michael S. Tsirkin
2016-03-01 16:28 ` Vladimir Sementsov-Ogievskiy
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 05/21] balloon: Use only 'pc-dimm' type dimm for ballooning Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 06/21] pci core: function pci_host_bus_register() cleanup Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 07/21] pci core: function pci_bus_init() cleanup Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 08/21] block-migration: acquire AioContext as necessary Michael S. Tsirkin
2016-02-25 11:20 ` Michael S. Tsirkin [this message]
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 10/21] virtio: add AioContext-specific function for host notifiers Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 11/21] virtio: export vring_notify as virtio_should_notify Michael S. Tsirkin
2016-02-25 11:20 ` [Qemu-devel] [PULL v3 12/21] virtio-blk: fix "disabled data plane" mode Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 13/21] virtio-blk: do not use vring in dataplane Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 14/21] virtio-scsi: " Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 15/21] vring: remove Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 16/21] tests/vhost-user-bridge: fix build on 32 bit systems Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 17/21] q35: Remove old machine versions Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 18/21] machine: Remove no_tco field Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 19/21] ich9: Remove enable_tco arguments from init functions Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 20/21] q35: Remove unused q35-acpi-dsdt.aml file Michael S. Tsirkin
2016-02-25 11:21 ` [Qemu-devel] [PULL v3 21/21] q35: No need to check gigabyte_align Michael S. Tsirkin
2016-02-25 12:57 ` [Qemu-devel] [PULL v3 00/21] vhost, virtio, pci, pc Peter Maydell
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=1456399032-6172-10-git-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=cornelia.huck@de.ibm.com \
--cc=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.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 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.