aboutsummaryrefslogtreecommitdiff
path: root/hw/vfio/pci.h
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2018-06-05 08:23:17 -0600
committerAlex Williamson <alex.williamson@redhat.com>2018-06-05 08:28:09 -0600
commit2b1dbd0d7250254e9421bce721cc2ea25b4af894 (patch)
tree6c87213262cef00382fb8b444bce436bf735ca0e /hw/vfio/pci.h
parentc958c51d2e9923d0eb14dfec46920f69bd793cb4 (diff)
vfio/quirks: Enable ioeventfd quirks to be handled by vfio directly
With vfio ioeventfd support, we can program vfio-pci to perform a specified BAR write when an eventfd is triggered. This allows the KVM ioeventfd to be wired directly to vfio-pci, entirely avoiding userspace handling for these events. On the same micro-benchmark where the ioeventfd got us to almost 90% of performance versus disabling the GeForce quirks, this gets us to within 95%. Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'hw/vfio/pci.h')
-rw-r--r--hw/vfio/pci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/vfio/pci.h b/hw/vfio/pci.h
index a4ac583fbd..52b065421a 100644
--- a/hw/vfio/pci.h
+++ b/hw/vfio/pci.h
@@ -34,6 +34,7 @@ typedef struct VFIOIOEventFD {
VFIORegion *region;
hwaddr region_addr;
bool dynamic; /* Added runtime, removed on device reset */
+ bool vfio;
} VFIOIOEventFD;
typedef struct VFIOQuirk {
@@ -163,6 +164,7 @@ typedef struct VFIOPCIDevice {
bool no_kvm_msix;
bool no_geforce_quirks;
bool no_kvm_ioeventfd;
+ bool no_vfio_ioeventfd;
VFIODisplay *dpy;
} VFIOPCIDevice;