linux/drivers/vfio
Alex Williamson d71a989cf5 vfio/pci: Insert full vma on mmap'd MMIO fault
In order to improve performance of typical scenarios we can try to insert
the entire vma on fault.  This accelerates typical cases, such as when
the MMIO region is DMA mapped by QEMU.  The vfio_iommu_type1 driver will
fault in the entire DMA mapped range through fixup_user_fault().

In synthetic testing, this improves the time required to walk a PCI BAR
mapping from userspace by roughly 1/3rd.

This is likely an interim solution until vmf_insert_pfn_{pmd,pud}() gain
support for pfnmaps.

Suggested-by: Yan Zhao <yan.y.zhao@intel.com>
Link: https://lore.kernel.org/all/Zl6XdUkt%2FzMMGOLF@yzhao56-desk.sh.intel.com/
Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
Link: https://lore.kernel.org/r/20240607035213.2054226-1-alex.williamson@redhat.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2024-06-12 15:40:39 -06:00
..
cdx vfio/cdx: add interrupt support 2024-04-23 14:31:38 -06:00
fsl-mc vfio/fsl-mc: Block calling interrupt handler without trigger 2024-03-11 13:08:52 -06:00
mdev vfio: mdev: make mdev_bus_type const 2024-02-22 12:19:33 -07:00
pci vfio/pci: Insert full vma on mmap'd MMIO fault 2024-06-12 15:40:39 -06:00
platform ARM: 9370/1: vfio: amba: drop owner assignment 2024-04-18 12:09:21 +01:00
container.c VFIO updates for v6.3-rc1 2023-02-25 11:52:57 -08:00
debugfs.c vfio/migration: Add debugfs to live migration driver 2023-12-04 14:29:08 -07:00
device_cdev.c vfio: Create vfio_fs_type with inode per device 2024-05-31 15:15:51 -06:00
group.c vfio: Create vfio_fs_type with inode per device 2024-05-31 15:15:51 -06:00
iommufd.c vfio: Support IO page table replacement 2023-07-28 13:31:24 -03:00
Kconfig vfio/migration: Add debugfs to live migration driver 2023-12-04 14:29:08 -07:00
Makefile vfio/migration: Add debugfs to live migration driver 2023-12-04 14:29:08 -07:00
vfio_iommu_spapr_tce.c powerpc/iommu: Add iommu_ops to report capabilities and allow blocking domains 2023-03-15 00:51:46 +11:00
vfio_iommu_type1.c mm: pass VMA instead of MM to follow_pte() 2024-05-05 17:53:27 -07:00
vfio_main.c vfio: Create vfio_fs_type with inode per device 2024-05-31 15:15:51 -06:00
vfio.h vfio: replace CONFIG_HAVE_KVM with IS_ENABLED(CONFIG_KVM) 2024-02-08 08:45:35 -05:00
virqfd.c vfio: Introduce interface to flush virqfd inject workqueue 2024-03-11 13:08:52 -06:00