Now that vfio ioeventfd support is in v4.17-rc kernels, let's push forward with this series. I've posted the linux-headers update separate as it was rather an ordeal with conflicting defines, non- upstream defines, and inveted types that don't exist. Dependencies to build this series: https://lists.gnu.org/archive/html/qemu-devel/2018-05/msg00097.html Which depends on MST's: https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg02510.html The first two patches are unchanged and I've kept previous reviews. The change to the latter two patches is the addition of trace events and options for disabling both vfio and KVM ioeventfds. These are both experimental options which are useful for debugging and evaluating any performance differences, not intended for support. Please review. Thanks, Alex --- Alex Williamson (4): vfio/quirks: Add common quirk alloc helper vfio/quirks: Add quirk reset callback vfio/quirks: ioeventfd quirk acceleration vfio/quirks: Enable ioeventfd quirks to be handled by vfio directly hw/vfio/pci-quirks.c | 273 +++++++++++++++++++++++++++++++++++++++++++++----- hw/vfio/pci.c | 6 + hw/vfio/pci.h | 19 +++ hw/vfio/trace-events | 3 + 4 files changed, 272 insertions(+), 29 deletions(-)