[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/9] dataplane: remove EventPoll in favor of Aio
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-devel] [PATCH 3/9] dataplane: remove EventPoll in favor of AioContext |
Date: |
Fri, 08 Mar 2013 09:37:45 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130221 Thunderbird/17.0.3 |
On 04/03/13 10:15, Stefan Hajnoczi wrote:
> From: Paolo Bonzini <address@hidden>
>
> During the review of the dataplane code, the EventPoll API morphed itself
> (not concidentially) into something very very similar to an AioContext.
> Thus, it is trivial to convert virtio-blk-dataplane to use AioContext,
> and a first baby step towards letting dataplane talk directly to the
> QEMU block layer.
>
> The only interesting note is the value-copy of EventNotifiers. At least
> in my opinion this is part of the EventNotifier API and is even portable
> to Windows. Of course, in this case you should not close the notifier's
> underlying file descriptors or handle with event_notifier_cleanup.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
Hmm, this broke data plane on our internal notifier prototype code on virtio-ccw
(attached for reference)
[...]
> + /* Note that these EventNotifiers are assigned by value. This is
> + * fine as long as you do not call event_notifier_cleanup on them
> + * (because you don't own the file descriptor or handle; you just
> + * use it).
> + */
And this might be the reason. Currently we only have eventfd to wire up
guest_to_host notifiers. The host_to_guest notification is not done
via vectors/irqfd, instead we let our qemu transport listen to the irq
eventfd. Worked fine so far with vhost and dataplane without this patch.
Any ideas how to properly enable a transport that has full host notifiers
but only poor mans guest notifiers?
Christian
guest-host-notifiers.patch
Description: Text Data
[Qemu-devel] [PATCH 1/9] ide/macio: Fix macio DMA initialisation., Stefan Hajnoczi, 2013/03/04
[Qemu-devel] [PATCH 2/9] virtio-blk: fix unplug + virsh reboot, Stefan Hajnoczi, 2013/03/04
[Qemu-devel] [PATCH 5/9] move socket_set_nodelay to osdep.c, Stefan Hajnoczi, 2013/03/04
[Qemu-devel] [PATCH 4/9] slirp/tcp_subr.c: fix coding style in tcp_connect, Stefan Hajnoczi, 2013/03/04
[Qemu-devel] [PATCH 6/9] sheepdog: accept URIs, Stefan Hajnoczi, 2013/03/04
[Qemu-devel] [PATCH 7/9] sheepdog: use inet_connect to simplify connect code, Stefan Hajnoczi, 2013/03/04
[Qemu-devel] [PATCH 9/9] block: for HMP commit() operations on 'all', skip non-COW drives, Stefan Hajnoczi, 2013/03/04