diff options
author | Alex Williamson <alex.williamson@redhat.com> | 2018-06-05 08:23:17 -0600 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2018-06-05 08:28:09 -0600 |
commit | 2b1dbd0d7250254e9421bce721cc2ea25b4af894 (patch) | |
tree | 6c87213262cef00382fb8b444bce436bf735ca0e /hw/vfio/pci.h | |
parent | c958c51d2e9923d0eb14dfec46920f69bd793cb4 (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.h | 2 |
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; |