qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 11/21] ioport: insert event_tap_ioport() to iopo


From: Stefan Hajnoczi
Subject: [Qemu-devel] Re: [PATCH 11/21] ioport: insert event_tap_ioport() to ioport_write().
Date: Thu, 16 Dec 2010 16:27:08 +0000

On Thu, Dec 16, 2010 at 9:50 AM, Yoshiaki Tamura
<address@hidden> wrote:
> 2010/12/16 Michael S. Tsirkin <address@hidden>:
>> On Thu, Dec 16, 2010 at 04:37:41PM +0900, Yoshiaki Tamura wrote:
>>> 2010/11/28 Yoshiaki Tamura <address@hidden>:
>>> > 2010/11/28 Michael S. Tsirkin <address@hidden>:
>>> >> On Thu, Nov 25, 2010 at 03:06:50PM +0900, Yoshiaki Tamura wrote:
>>> >>> Record ioport event to replay it upon failover.
>>> >>>
>>> >>> Signed-off-by: Yoshiaki Tamura <address@hidden>
>>> >>
>>> >> Interesting. This will have to be extended to support ioeventfd.
>>> >> Since each eventfd is really just a binary trigger
>>> >> it should be enough to read out the fd state.
>>> >
>>> > Haven't thought about eventfd yet.  Will try doing it in the next
>>> > spin.
>>>
>>> Hi Michael,
>>>
>>> I looked into eventfd and realized it's only used with vhost now.
>>
>> There are patches on list to use it for block/userspace net.
>
> Thanks.  Now I understand.
> In that case, inserting an even-tap function to the following code
> should be appropriate?
>
> int event_notifier_test_and_clear(EventNotifier *e)
> {
>    uint64_t value;
>    int r = read(e->fd, &value, sizeof(value));
>    return r == sizeof(value);
> }
>
>>
>>>  However, I
>>> believe vhost bypass the net layer in qemu, and there is no way for Kemari 
>>> to
>>> detect the outputs.  To me, it doesn't make sense to extend this patch to
>>> support eventfd...

Here is the userspace ioeventfd patch series:
http://www.mail-archive.com/address@hidden/msg49208.html

Instead of switching to QEMU userspace to handle the virtqueue kick
pio write, we signal the eventfd inside the kernel and resume guest
code execution.  The I/O thread can then process the virtqueue kick in
parallel to guest code execution.

I think this can still be tied into Kemari.  If you are switching to a
pure net/block-layer event tap instead of pio/mmio, then I think it
should just work.

For vhost it would be more difficult to integrate with Kemari.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]