The introduction of system technologies that improve devices capabilities and performance (eg PCI ATS (Address Translation Service)/PRI(Page Request Interface), enabling Shared Virtual Memory (SVM) between devices and CPUs) is making PCI devices, the system IOMMUs they are connected to and the VFIO layer used to managed them (for userspace and device passthrough) more and more tightly coupled, with related kernel interfaces that have to be designed in-sync for all three subsystems.

The kernel patches aimed at enabling the related technologies affect VFIO/IOMMU/PCI subsystems and interfaces, which require a certain amount of coordination between kernel subsystems to make sure that the related interfaces are designed to work in a seamless manner.

The Linux Plumbers 2017 VFIO/IOMMU/PCI track will therefore focus on promoting discussions on the current kernel patches aimed at VFIO/IOMMU/PCI subsystems with specific sessions targeting discussion for kernel patches that enable technology (ie Shared Virtual Memory - SVM) requiring the three subsystems coordination; the microconference will also cover VFIO/IOMMU/PCI subsystem specific tracks to debate patches status for the respective subsystems plumbing.

Tentative Schedule

The tentative schedule will provide an update on the current state of VFIO/IOMMU/PCI kernel subsystems followed by discussion of current issues in the proposed topics, starting with a joint discussion on patches aimed at enabling Shared Virtual Memory (SVM) technologies.

Topics that are under consideration for this microconf include (but are not limited to):


  • Shared Virtual Memory (SVM) interface
    • Sharing host or guest page tables with devices
    • Reporting I/O page faults to userspace


  • IOMMU drivers SVM interface consolidation
  • IOMMUs virtualization


  • PCI ATS (Address Translation Service)/PASID (Process Address Space ID)/PRI (Page Request Interface) interface
  • PCI resources allocation refactoring
    • Consolidation of different arches resource allocation code into PCI core code
    • Improvements/refactoring of the current resources allocation code (PCI_PROBE_ONLY, IORESOURCE_PCI_FIXED handling, PCIe Enhanced Allocation)
    • FW/OS resource handover interface (BIOS PCI BARs allocation and related kernel policy for resources claiming)
    • Bridges apertures sizing
    • Resources resizing
  • PCI resets management improvements
  • peer-to-peer enablement

Proposed topics

Please add your topics here:

* SVM Virtualization (Yi Liu yi.l.liu@intel.com): status update based on Intel vIOMMU implementation. take the chance to finalize IOMMU/VFIO APIs which should support both emulated IOMMUs and also virtio-IOMMU.

Key Attendees (add yourself)

  • Jean-Philippe Brucker
  • Keith Busch
  • Will Deacon
  • Bjorn Helgaas
  • Yinghai Lu
  • Lorenzo Pieralisi
  • Joerg Roedel
  • Alex Williamson
  • Marc Zyngier
  • Leon Romanovsky
  • Alexander Deucher
  • Ashok Raj
  • Kevin Tian
  • Yi L.Liu
  • Myron Stowe


Bjorn Helgaas bhelgaas@google.com Lorenzo Pieralisi lorenzo.pieralisi@arm.com Joerg Roedel joro@8bytes.org Alex Williamson alex.williamson@redhat.com

2017/vfio_iommu_pci.txt · Last modified: 2017/07/12 09:48 by
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki