So far TCE cache updates (IOMMU translation cache on POWER8/9 PHB/NPU units) were barely noticeable; however with 100+GB guests we now see RCU stall warnings in guests because we spend too much time in the host system firmware which does actual TCE cache updates, hence this patchset. This is a rework of https://patchwork.ozlabs.org/patch/1149003/ https://patchwork.ozlabs.org/patch/1152985/ (cannot post link to the series as it appears empty because of broken patchworks) This depends on KVM-PPC's bugfix: https://patchwork.ozlabs.org/patch/1152937/ I expect 1/5 to go via the PPC tree, 2/5 via the KVM-PPC tree, 3/5 via the VFIO tree and the rest via the PPC tree. Changes: v3: * added 4/5 to fix compile error from 5/5 * added "Book3S" to 2/5's subject line This is based on sha1 42ac26d253eb Santosh Sivaraj "powerpc: add machine check safe copy_to_user". Please comment. Thanks. Alexey Kardashevskiy (5): powerpc/powernv/ioda: Split out TCE invalidation from TCE updates KVM: PPC: Book3S: Invalidate multiple TCEs at once vfio/spapr_tce: Invalidate multiple TCEs at once powerpc/pseries/iommu: Switch to xchg_no_kill powerpc/powernv/ioda: Remove obsolete iommu_table_ops::exchange callbacks arch/powerpc/include/asm/iommu.h | 21 ++++++--- arch/powerpc/kernel/iommu.c | 23 ++++++---- arch/powerpc/kvm/book3s_64_vio.c | 29 ++++++++---- arch/powerpc/kvm/book3s_64_vio_hv.c | 38 +++++++++++---- arch/powerpc/platforms/powernv/pci-ioda.c | 56 ++++------------------- arch/powerpc/platforms/pseries/iommu.c | 5 +- drivers/vfio/vfio_iommu_spapr_tce.c | 18 +++++--- 7 files changed, 99 insertions(+), 91 deletions(-) -- 2.17.1