diff options
author | Alex Williamson | 2018-06-05 16:23:17 +0200 |
---|---|---|
committer | Alex Williamson | 2018-06-05 16:28:09 +0200 |
commit | 2b1dbd0d7250254e9421bce721cc2ea25b4af894 (patch) | |
tree | 6c87213262cef00382fb8b444bce436bf735ca0e /hw/vfio/pci.c | |
parent | vfio/quirks: ioeventfd quirk acceleration (diff) | |
download | qemu-2b1dbd0d7250254e9421bce721cc2ea25b4af894.tar.gz qemu-2b1dbd0d7250254e9421bce721cc2ea25b4af894.tar.xz qemu-2b1dbd0d7250254e9421bce721cc2ea25b4af894.zip |
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.c')
-rw-r--r-- | hw/vfio/pci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index ba12395511..84e27c7bb2 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -3177,6 +3177,8 @@ static Property vfio_pci_dev_properties[] = { no_geforce_quirks, false), DEFINE_PROP_BOOL("x-no-kvm-ioeventfd", VFIOPCIDevice, no_kvm_ioeventfd, false), + DEFINE_PROP_BOOL("x-no-vfio-ioeventfd", VFIOPCIDevice, no_vfio_ioeventfd, + false), DEFINE_PROP_UINT32("x-pci-vendor-id", VFIOPCIDevice, vendor_id, PCI_ANY_ID), DEFINE_PROP_UINT32("x-pci-device-id", VFIOPCIDevice, device_id, PCI_ANY_ID), DEFINE_PROP_UINT32("x-pci-sub-vendor-id", VFIOPCIDevice, |