[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers |
Date: |
Thu, 19 Nov 2015 13:06:17 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 19/11/2015 13:01, Michael S. Tsirkin wrote:
>> > You know... I took a look at this, and yes, i could simply hook up
>> > emulation into memory region handlers. And everything that
>> > expects KVM eventfd binding will magically start working, probably
>> > rendering some bypass code obsolete.
>> > I have only one concern against this. qemu is a large piece of software,
>> > consisting of lots of components. I cannot test absolutely
>> > everything in every configuration. I suggest, old code was written with
>> > the assumption that if memory_region_add_eventfd() works, we
>> > are really using KVM acceleration. If we break this assumption, how much
>> > code will mysteriously misbehave instead of throwing
> First of all, memory_region_add_eventfd simply exits on failure.
> It seems unlikely you will break something which isn't already
> broken.
>
> Further:
>
> $ git grep memory_region_add_eventfd
> hw/misc/ivshmem.c: memory_region_add_eventfd(&s->ivshmem_mmio,
> hw/misc/pci-testdev.c: memory_region_add_eventfd(test->mr,
> hw/virtio/virtio-mmio.c: memory_region_add_eventfd(&proxy->iomem,
> VIRTIO_MMIO_QUEUENOTIFY, 4,
> hw/virtio/virtio-pci.c: memory_region_add_eventfd(modern_mr,
> modern_addr, 0,
> hw/virtio/virtio-pci.c: memory_region_add_eventfd(modern_mr,
> modern_addr, 2,
> hw/virtio/virtio-pci.c:
> memory_region_add_eventfd(modern_notify_mr, 0, 2,
> hw/virtio/virtio-pci.c: memory_region_add_eventfd(legacy_mr,
> legacy_addr, 2,
> include/exec/memory.h: * memory_region_add_eventfd: Request an eventfd to be
> triggered when a word
> include/exec/memory.h:void memory_region_add_eventfd(MemoryRegion *mr,
> include/exec/memory.h: * memory_region_add_eventfd() call.
> memory.c:void memory_region_add_eventfd(MemoryRegion *mr,
>
> Not such a bit deal to audit all call sites, is it?
>
> Cc memory API maintainer for an opinion.
>
> Paolo, do you see anything wrong with making
> memory_region_add_eventfd work (slowly) without kvm ioeventfd support?
>
Sure, it's even been on the todo list for a while. Stefan Hajnoczi had
a patch, the only ugly thing was that it slowed down a little all
non-ioeventfd accesses, but I guess that's okay because it's probably
not measurable.
http://lists.nongnu.org/archive/html/qemu-devel/2015-07/msg04710.html
Paolo
Paolo
Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers, Michael S. Tsirkin, 2015/11/19
- Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers, Pavel Fedin, 2015/11/19
- Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers, Michael S. Tsirkin, 2015/11/19
- Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers, Michael S. Tsirkin, 2015/11/19
- Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers, Pavel Fedin, 2015/11/19
- Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers, Paolo Bonzini, 2015/11/19
- Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers, Cornelia Huck, 2015/11/19
- Re: [Qemu-devel] [PATCH] virtio: Implement userspace forwarding for host notifiers, Pavel Fedin, 2015/11/19