hw/vfio/platform: add irqfd support
authorEric Auger <eric.auger@linaro.org>
Mon, 6 Jul 2015 18:15:14 +0000 (12:15 -0600)
committerAlex Williamson <alex.williamson@redhat.com>
Mon, 6 Jul 2015 18:15:14 +0000 (12:15 -0600)
commitfb5f816499a5184a1336d72db030b8419b523082
tree6458bdd3886c6e2c4c1922e6289e52fda2f318ca
parent879904e8635b316de18393222f02d46d2d1f7f4e
hw/vfio/platform: add irqfd support

This patch aims at optimizing IRQ handling using irqfd framework.

Instead of handling the eventfds on user-side they are handled on
kernel side using
- the KVM irqfd framework,
- the VFIO driver virqfd framework.

the virtual IRQ completion is trapped at interrupt controller
This removes the need for fast/slow path swap.

Overall this brings significant performance improvements.

Signed-off-by: Alvise Rigo <a.rigo@virtualopensystems.com>
Signed-off-by: Eric Auger <eric.auger@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Vikram Sethi <vikrams@codeaurora.org>
Acked-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
hw/vfio/platform.c
include/hw/vfio/vfio-platform.h
trace-events