linux/drivers/vfio
Jason Cai (Xiang Feng) 356e88ebe4 vfio/type1: Improve memory pinning process for raw PFN mapping
When using vfio to pass through a PCIe device (e.g. a GPU card) that
has a huge BAR (e.g. 16GB), a lot of cycles are wasted on memory
pinning because PFNs of PCI BAR are not backed by struct page, and
the corresponding VMA has flag VM_PFNMAP.

With this change, when pinning a region which is a raw PFN mapping,
it can skip unnecessary user memory pinning process, and thus, can
significantly improve VM's boot up time when passing through devices
via VFIO. In my test on a Xeon E5 2.6GHz, the time mapping a 16GB
BAR was reduced from about 0.4s to 1.5us.

Signed-off-by: Jason Cai (Xiang Feng) <jason.cai@linux.alibaba.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2018-03-22 13:18:27 -06:00
..
mdev vfio: mdev: make a couple of functions and structure vfio_mdev_driver static 2018-01-09 12:13:08 -07:00
pci vfio-pci: Allow mapping MSIX BAR 2017-12-20 10:05:06 -07:00
platform VFIO Updates for Linux v4.15 2017-11-14 16:47:47 -08:00
Kconfig vfio: Fix build break when SPAPR_TCE_IOMMU=n 2017-02-08 13:13:25 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vfio_iommu_spapr_tce.c vfio/spapr: Add cond_resched() for huge updates 2017-10-02 12:39:11 -06:00
vfio_iommu_type1.c vfio/type1: Improve memory pinning process for raw PFN mapping 2018-03-22 13:18:27 -06:00
vfio_spapr_eeh.c drivers/vfio: Support EEH error injection 2015-05-12 20:33:35 +10:00
vfio.c vfio: Simplify capability helper 2017-12-20 09:53:54 -07:00
virqfd.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00