[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 4/7] virtio: Use aio_set_event_notifier for aio v
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v2 4/7] virtio: Use aio_set_event_notifier for aio vq |
Date: |
Fri, 24 Jun 2016 20:39:31 +0800 |
Signed-off-by: Fam Zheng <address@hidden>
---
hw/virtio/virtio.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 1ea6f66..a586529 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -1835,11 +1835,21 @@ static void
virtio_queue_host_notifier_read(EventNotifier *n)
void virtio_queue_set_host_notifier_fd_handler(VirtQueue *vq, bool assign,
bool set_handler)
{
+ AioContext *ctx = qemu_get_aio_context();
if (assign && set_handler) {
- event_notifier_set_handler(&vq->host_notifier, true,
+ if (vq->use_aio) {
+ aio_set_event_notifier(ctx, &vq->host_notifier, true,
virtio_queue_host_notifier_read);
+ } else {
+ event_notifier_set_handler(&vq->host_notifier, true,
+ virtio_queue_host_notifier_read);
+ }
} else {
- event_notifier_set_handler(&vq->host_notifier, true, NULL);
+ if (vq->use_aio) {
+ aio_set_event_notifier(ctx, &vq->host_notifier, true, NULL);
+ } else {
+ event_notifier_set_handler(&vq->host_notifier, true, NULL);
+ }
}
if (!assign) {
/* Test and clear notifier before after disabling event,
--
2.8.3
- [Qemu-devel] [PATCH v2 0/7] virtio: Merge virtio-{blk, scsi} host notifier handling paths, Fam Zheng, 2016/06/24
- [Qemu-devel] [PATCH v2 1/7] virtio-bus: Drop "set_handler" parameter, Fam Zheng, 2016/06/24
- [Qemu-devel] [PATCH v2 4/7] virtio: Use aio_set_event_notifier for aio vq,
Fam Zheng <=
- [Qemu-devel] [PATCH v2 2/7] virtio: Add typedef for handle_output, Fam Zheng, 2016/06/24
- [Qemu-devel] [PATCH v2 3/7] virtio: Introduce virtio_add_queue_aio, Fam Zheng, 2016/06/24
- [Qemu-devel] [PATCH v2 6/7] virtio-scsi: Call virtio_add_queue_aio, Fam Zheng, 2016/06/24
- [Qemu-devel] [PATCH v2 5/7] virtio-blk: Call virtio_add_queue_aio, Fam Zheng, 2016/06/24
- [Qemu-devel] [PATCH v2 7/7] Revert "mirror: Workaround for unexpected iohandler events during completion", Fam Zheng, 2016/06/24