[PATCH kernel v4 00/11] powerpc/powernv/npu: Enable PCI pass through for NVLink

From: Alexey Kardashevskiy
Date: Fri Apr 29 2016 - 05:05:23 EST


IBM POWER8 NVlink systems contain usual Tesla K40-ish GPUs but also
contain a couple of really fast links between GPU and CPU. These links
are exposed to the userspace by the OPAL firmware as bridges.
In order to make these links work when GPU is passed to the guest,
these bridges need to be passed as well; otherwise performance will
degrade. More details are in 11/11.

This reworks the existing NPU support in the powernv platform and adds
VFIO support on top of that.

v4 has new patch "powerpc/powernv/npu: Add set/unset window" and bunch of
cleanups.

"vfio_pci: Test for extended capabilities if config space > 256 bytes" is
included here if anyone decides to test the patchset which will crash
without it.

This was tested on POWER8NVL platform; pvr=0x004c0100.


Please comment. Thanks.

Alex, I guess we will need your "acked-by" for
"vfio/spapr: Relax the IOMMU compatibility check" to proceed.


Alexey Kardashevskiy (11):
vfio_pci: Test for extended capabilities if config space > 256 bytes
vfio/spapr: Relax the IOMMU compatibility check
powerpc/powernv: Rename pnv_pci_ioda2_tce_invalidate_entire
powerpc/powernv: Define TCE Kill flags
powerpc/powernv/npu: TCE Kill helpers cleanup
powerpc/powernv/npu: Use the correct IOMMU page size
powerpc/powernv/npu: Simplify DMA setup
powerpc/powernv/ioda2: Export debug helper pe_level_printk()
powerpc/powernv/npu: Add set/unset window helpers
powerpc/powernv/npu: Rework TCE Kill handling
powerpc/powernv/npu: Enable NVLink pass through

arch/powerpc/platforms/powernv/npu-dma.c | 287 ++++++++++++++++--------------
arch/powerpc/platforms/powernv/pci-ioda.c | 224 +++++++++++++++--------
arch/powerpc/platforms/powernv/pci.h | 31 ++--
drivers/vfio/pci/vfio_pci_config.c | 17 +-
drivers/vfio/vfio_iommu_spapr_tce.c | 3 +-
5 files changed, 327 insertions(+), 235 deletions(-)

--
2.5.0.rc3