When ATS is used in a process, all CPU TLB invalidates in that process also trigger ATSD invalidates via mmu_notifiers. This additional overhead is noticeable in applications which do heavy memory allocation or page migration among nodes, particularly to and from GPUs.
This patch set reduces that overhead by rearranging how the ATSDs are issued and by using size-based ATSD invalidates. Mark Hairgrove (3): powerpc/powernv/npu: Reduce eieio usage when issuing ATSD invalidates powerpc/powernv/npu: Use size-based ATSD invalidates powerpc/powernv/npu: Remove atsd_threshold debugfs setting arch/powerpc/platforms/powernv/npu-dma.c | 177 ++++++++++++++--------------- 1 files changed, 85 insertions(+), 92 deletions(-) -- 1.7.2.5