This patch set introduces eventfd support for virio-mmio. It was originally published by Ying-Shiuan Pan but never got it to upstream: https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html I have updated and successfully tested it with vhost-net. I confirm that this solution significantly improves the network performance even without irqfd. I would like to upstream it, since virtio-mmio is still there. I know that some of you consider it deprecated, however i believe this is not entirely true. Because you can add it to machine models which are not supposed to have PCI (like vexpress). An old patch set relied on additional "eventfd" option in order to disable the support if not implemented in kernel. My version simply checks kvm_eventfds_enabled() for this purpose, so backwards compatibility is much better. I decided to leave this set in three parts because ioeventfd support should be enabled only when both host and guest notifiers are in place. I believe it will not work with partial implementation, at least because vhost-net requires both sets of eventfds. In this version i added correct reset handling.
Ying-Shiuan Pan (3): virtio-mmio: introduce set_host_notifier() virtio-mmio: introduce set_guest_notifiers virtio-mmio: start ioeventfd when status gets DRIVER_OK hw/virtio/virtio-mmio.c | 181 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) -- 1.9.5.msysgit.0