[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/8] virtio: add AioContext-specific function fo
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH 3/8] virtio: add AioContext-specific function for host notifiers |
Date: |
Tue, 16 Feb 2016 15:20:17 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Sun, 02/14 18:17, Paolo Bonzini wrote:
> This is used to register ioeventfd with a dataplane thread.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> hw/virtio/virtio.c | 16 ++++++++++++++++
> include/hw/virtio/virtio.h | 2 ++
> 2 files changed, 18 insertions(+)
>
> diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
> index 90f2545..3a5cca4 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -1785,6 +1785,22 @@ static void
> virtio_queue_host_notifier_read(EventNotifier *n)
> }
> }
>
> +void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext
> *ctx,
> + bool assign, bool
> set_handler)
> +{
> + if (assign && set_handler) {
> + aio_set_event_notifier(ctx, &vq->host_notifier, true,
> + virtio_queue_host_notifier_read);
> + } else {
> + aio_set_event_notifier(ctx, &vq->host_notifier, true, NULL);
> + }
> + if (!assign) {
> + /* Test and clear notifier before after disabling event,
Does "before after" mean "after"? :)
Reviewed-by: Fam Zheng <address@hidden>
> + * in case poll callback didn't have time to run. */
> + virtio_queue_host_notifier_read(&vq->host_notifier);
> + }
> +}
> +
> void virtio_queue_set_host_notifier_fd_handler(VirtQueue *vq, bool assign,
> bool set_handler)
> {
> diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
> index 108cdb0..4ce01a1 100644
> --- a/include/hw/virtio/virtio.h
> +++ b/include/hw/virtio/virtio.h
> @@ -248,6 +248,8 @@ void virtio_queue_set_guest_notifier_fd_handler(VirtQueue
> *vq, bool assign,
> EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq);
> void virtio_queue_set_host_notifier_fd_handler(VirtQueue *vq, bool assign,
> bool set_handler);
> +void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext
> *ctx,
> + bool assign, bool
> set_handler);
> void virtio_queue_notify_vq(VirtQueue *vq);
> void virtio_irq(VirtQueue *vq);
> VirtQueue *virtio_vector_first_queue(VirtIODevice *vdev, uint16_t vector);
> --
> 1.8.3.1
>
>
>
- [Qemu-devel] [PATCH 0/8] virtio: allow migration with dataplane, Paolo Bonzini, 2016/02/14
- [Qemu-devel] [PATCH 1/8] block-migration: acquire AioContext as necessary, Paolo Bonzini, 2016/02/14
- [Qemu-devel] [PATCH 5/8] virtio-blk: fix "disabled data plane" mode, Paolo Bonzini, 2016/02/14
- [Qemu-devel] [PATCH 2/8] vring: make vring_enable_notification return void, Paolo Bonzini, 2016/02/14
- [Qemu-devel] [PATCH 3/8] virtio: add AioContext-specific function for host notifiers, Paolo Bonzini, 2016/02/14
- Re: [Qemu-devel] [PATCH 3/8] virtio: add AioContext-specific function for host notifiers,
Fam Zheng <=
- [Qemu-devel] [PATCH 4/8] virtio: export vring_notify as virtio_should_notify, Paolo Bonzini, 2016/02/14
- [Qemu-devel] [PATCH 6/8] virtio-blk: do not use vring in dataplane, Paolo Bonzini, 2016/02/14
- [Qemu-devel] [PATCH 7/8] virtio-scsi: do not use vring in dataplane, Paolo Bonzini, 2016/02/14
- [Qemu-devel] [PATCH 8/8] vring: remove, Paolo Bonzini, 2016/02/14