qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] vfio/pci: ioeventfd support
@ 2018-02-28 20:14 Alex Williamson
  2018-02-28 20:14 ` [Qemu-devel] [PATCH 1/3] vfio/pci: Pull BAR mapping setup from read-write path Alex Williamson
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Alex Williamson @ 2018-02-28 20:14 UTC (permalink / raw)
  To: kvm; +Cc: linux-kernel, qemu-devel, alex.williamson, peterx, eric.auger,
	aik

A vfio ioeventfd will perform the pre-specified device write on
triggering of an eventfd.  When coupled with KVM ioeventfds, this
feature allows a VM to trap a device page for virtualization, while
also registering targeted ioeventfds to maintain performance of high
frequency register writes within the trapped range.  Much like the
existing interrupt eventfd/irqfd coupling, such writes can be handled
entirely in the host kernel.

The new VFIO device ioctl may be supported by any vfio bus driver,
including mdev drivers, but the implementation here only enables
vfio-pci.  This is intended as an acceleration path, bus drivers
may choose which regions to support and userspace should always
intend to fall back to non-accelerated handling when unavailable.

RFC->v1:
 * An arbitrary limit is added for the number of ioeventfds supported
   per device.  The intention is to set this high enough to allow any
   reasonable use case, but limit malicious user behavior.
 * Split patches, including adding a patch for endian neutral io reads
   and writes.  This should be a nop for little-endian and avoid
   redundant swap on big-endian, and hopefully resolves Alexey's
   comments regarding the endian nature of this interface.
 * Rebase to v4.16-rc3

Thanks,
Alex

---

Alex Williamson (3):
      vfio/pci: Pull BAR mapping setup from read-write path
      vfio/pci: Use endian neutral helpers
      vfio/pci: Add ioeventfd support


 drivers/vfio/pci/vfio_pci.c         |   34 ++++++
 drivers/vfio/pci/vfio_pci_private.h |   18 +++
 drivers/vfio/pci/vfio_pci_rdwr.c    |  188 +++++++++++++++++++++++++++++++----
 include/uapi/linux/vfio.h           |   27 +++++
 4 files changed, 247 insertions(+), 20 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-03-15 21:12 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-28 20:14 [Qemu-devel] [PATCH 0/3] vfio/pci: ioeventfd support Alex Williamson
2018-02-28 20:14 ` [Qemu-devel] [PATCH 1/3] vfio/pci: Pull BAR mapping setup from read-write path Alex Williamson
2018-03-07  7:11   ` Peter Xu
2018-03-13 12:21   ` Auger Eric
2018-02-28 20:14 ` [Qemu-devel] [PATCH 2/3] vfio/pci: Use endian neutral helpers Alex Williamson
2018-02-28 20:15 ` [Qemu-devel] [PATCH 3/3] vfio/pci: Add ioeventfd support Alex Williamson
2018-03-06  6:54   ` kbuild test robot
2018-03-07  5:56   ` Peter Xu
2018-03-15 21:12     ` Alex Williamson
2018-03-13 13:12   ` Auger Eric
2018-03-15 21:07     ` Alex Williamson
2018-03-02  7:08 ` [Qemu-devel] [PATCH 0/3] vfio/pci: " Tian, Kevin
2018-03-02 18:02   ` Alex Williamson
2018-03-03  0:43     ` Tian, Kevin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).