[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 2/3] xen-bus: allow AioContext to be specified f
From: |
Anthony PERARD |
Subject: |
Re: [Qemu-block] [PATCH 2/3] xen-bus: allow AioContext to be specified for each event channel |
Date: |
Wed, 10 Apr 2019 13:57:08 +0100 |
User-agent: |
Mutt/1.11.4 (2019-03-13) |
On Mon, Apr 08, 2019 at 04:16:16PM +0100, Paul Durrant wrote:
> This patch adds an AioContext parameter to xen_device_bind_event_channel()
> and then uses aio_set_fd_handler() to set the callback rather than
> qemu_set_fd_handler().
>
> Signed-off-by: Paul Durrant <address@hidden>
> ---
> @@ -943,6 +944,7 @@ static void xen_device_event(void *opaque)
> }
>
> XenEventChannel *xen_device_bind_event_channel(XenDevice *xendev,
> + AioContext *ctx,
> unsigned int port,
> XenEventHandler handler,
> void *opaque, Error **errp)
> @@ -968,8 +970,9 @@ XenEventChannel *xen_device_bind_event_channel(XenDevice
> *xendev,
> channel->handler = handler;
> channel->opaque = opaque;
>
> - qemu_set_fd_handler(xenevtchn_fd(channel->xeh), xen_device_event, NULL,
> - channel);
> + channel->ctx = ctx;
> + aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), false,
> + xen_device_event, NULL, NULL, channel);
I wonder if the `'is_external' parameter of aio_set_fd_handler shoud be
`true' here, instead. That flag seems to be used when making a snapshot
of a blockdev, for example.
That was introduced by:
dca21ef23ba48f6f1428c59f295a857e5dc203c8^..c07bc2c1658fffeee08eb46402b2f66d55b07586
What do you think?
--
Anthony PERARD
[Qemu-block] [PATCH 3/3] xen-bus / xen-block: add support for event channel polling, Paul Durrant, 2019/04/08