All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 00/14] vfio: Device memory DMA mapping improvements
@ 2021-03-08 21:47 Alex Williamson
  2021-03-08 21:47 ` [PATCH v1 01/14] vfio: Create vfio_fs_type with inode per device Alex Williamson
                   ` (14 more replies)
  0 siblings, 15 replies; 40+ messages in thread
From: Alex Williamson @ 2021-03-08 21:47 UTC (permalink / raw)
  To: alex.williamson; +Cc: cohuck, kvm, linux-kernel, jgg, peterx

The primary goal of this series is to better manage device memory
mappings, both with a much simplified scheme to zap CPU mappings of
device memory using unmap_mapping_range() and also to restrict IOMMU
mappings of PFNMAPs to vfio device memory and drop those mappings on
device release.  This series updates vfio-pci to include the necessary
vma-to-pfn interface, allowing the type1 IOMMU backend to recognize
vfio device memory.  If other bus drivers support peer-to-peer DMA,
they should be updated with a similar callback and trigger the device
notifier on release.

RFC->v1:

 - Fix some incorrect ERR handling
 - Fix use of vm_pgoff to be compatible with unmap_mapping_range()
 - Add vma-to-pfn interfaces
 - Generic device-from-vma handling
 - pfnmap obj directly maps back to vfio_dma obj
 - No bypass for strict MMIO handling
 - Batch PFNMAP handling
 - Follow-on patches to cleanup "extern" usage and bare unsigned

Works in my environment, further testing always appreciated.  This
will need to be merged with a solution for concurrent fault handling.
Thanks especially to Jason Gunthorpe for previous reviews and
suggestions.  Thanks,

Alex

RFC:https://lore.kernel.org/kvm/161401167013.16443.8389863523766611711.stgit@gimli.home/

---

Alex Williamson (14):
      vfio: Create vfio_fs_type with inode per device
      vfio: Update vfio_add_group_dev() API
      vfio: Export unmap_mapping_range() wrapper
      vfio/pci: Use vfio_device_unmap_mapping_range()
      vfio: Create a vfio_device from vma lookup
      vfio: Add vma to pfn callback
      vfio: Add a device notifier interface
      vfio/pci: Notify on device release
      vfio/type1: Refactor pfn_list clearing
      vfio/type1: Pass iommu and dma objects through to vaddr_get_pfn
      vfio/type1: Register device notifier
      vfio/type1: Support batching of device mappings
      vfio: Remove extern from declarations across vfio
      vfio: Cleanup use of bare unsigned


 Documentation/driver-api/vfio-mediated-device.rst |   19 +-
 Documentation/driver-api/vfio.rst                 |    8 -
 drivers/s390/cio/vfio_ccw_cp.h                    |   13 +
 drivers/s390/cio/vfio_ccw_private.h               |   14 +
 drivers/s390/crypto/vfio_ap_private.h             |    2 
 drivers/vfio/Kconfig                              |    1 
 drivers/vfio/fsl-mc/vfio_fsl_mc.c                 |    6 -
 drivers/vfio/fsl-mc/vfio_fsl_mc_private.h         |    7 -
 drivers/vfio/mdev/vfio_mdev.c                     |    5 
 drivers/vfio/pci/vfio_pci.c                       |  229 ++++-----------------
 drivers/vfio/pci/vfio_pci_intrs.c                 |   42 ++--
 drivers/vfio/pci/vfio_pci_private.h               |   69 +++---
 drivers/vfio/platform/vfio_platform_common.c      |    7 -
 drivers/vfio/platform/vfio_platform_irq.c         |   21 +-
 drivers/vfio/platform/vfio_platform_private.h     |   31 +--
 drivers/vfio/vfio.c                               |  154 ++++++++++++--
 drivers/vfio/vfio_iommu_type1.c                   |  234 +++++++++++++++------
 include/linux/vfio.h                              |  129 ++++++------
 18 files changed, 543 insertions(+), 448 deletions(-)


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

end of thread, other threads:[~2021-04-12  4:09 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-08 21:47 [PATCH v1 00/14] vfio: Device memory DMA mapping improvements Alex Williamson
2021-03-08 21:47 ` [PATCH v1 01/14] vfio: Create vfio_fs_type with inode per device Alex Williamson
2021-03-09  8:36   ` Christoph Hellwig
2021-04-09  4:54   ` 答复: " Zengtao (B)
2021-04-09 14:24     ` Alex Williamson
2021-04-09 17:32       ` Jason Gunthorpe
2021-04-12  4:03         ` 答复: " Zengtao (B)
2021-04-12  4:09       ` Zengtao (B)
2021-03-08 21:47 ` [PATCH v1 02/14] vfio: Update vfio_add_group_dev() API Alex Williamson
2021-03-10  7:48   ` Christoph Hellwig
2021-03-10 12:19     ` Jason Gunthorpe
2021-03-10 15:28       ` Alex Williamson
2021-03-11 11:23         ` Christoph Hellwig
2021-03-08 21:47 ` [PATCH v1 03/14] vfio: Export unmap_mapping_range() wrapper Alex Williamson
2021-03-08 21:48 ` [PATCH v1 04/14] vfio/pci: Use vfio_device_unmap_mapping_range() Alex Williamson
2021-03-08 21:48 ` [PATCH v1 05/14] vfio: Create a vfio_device from vma lookup Alex Williamson
2021-03-08 21:48 ` [PATCH v1 06/14] vfio: Add vma to pfn callback Alex Williamson
2021-03-09  0:33   ` Jason Gunthorpe
2021-03-08 21:48 ` [PATCH v1 07/14] vfio: Add a device notifier interface Alex Williamson
2021-03-09  0:46   ` Jason Gunthorpe
2021-03-09 15:45     ` Alex Williamson
2021-03-09 16:47       ` Jason Gunthorpe
2021-03-10  7:56   ` Christoph Hellwig
2021-03-19 22:25     ` Alex Williamson
2021-03-22 15:16       ` Christoph Hellwig
2021-03-08 21:48 ` [PATCH v1 08/14] vfio/pci: Notify on device release Alex Williamson
2021-03-08 21:48 ` [PATCH v1 09/14] vfio/type1: Refactor pfn_list clearing Alex Williamson
2021-03-10  8:01   ` Christoph Hellwig
2021-03-08 21:49 ` [PATCH v1 10/14] vfio/type1: Pass iommu and dma objects through to vaddr_get_pfn Alex Williamson
2021-03-08 21:49 ` [PATCH v1 11/14] vfio/type1: Register device notifier Alex Williamson
2021-03-10  8:03   ` Christoph Hellwig
2021-03-08 21:49 ` [PATCH v1 12/14] vfio/type1: Support batching of device mappings Alex Williamson
2021-03-09  1:04   ` Jason Gunthorpe
2021-03-08 21:49 ` [PATCH v1 13/14] vfio: Remove extern from declarations across vfio Alex Williamson
2021-03-09  0:21   ` Halil Pasic
2021-03-09  1:07   ` Jason Gunthorpe
2021-03-08 21:49 ` [PATCH v1 14/14] vfio: Cleanup use of bare unsigned Alex Williamson
2021-03-09  1:07   ` Jason Gunthorpe
2021-03-09  8:31     ` Christoph Hellwig
2021-03-09  1:06 ` [PATCH v1 00/14] vfio: Device memory DMA mapping improvements Jason Gunthorpe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.