linux_dsm_epyc7002/arch/powerpc/mm/book3s64
Aneesh Kumar K.V e21dfbf013 powerpc/mm/book3s64: Avoid sending IPI on clearing PMD
Now that all the lockless page table walk is careful w.r.t the PTE
address returned, we can now revert
commit: 13bd817bb8 ("powerpc/thp: Serialize pmd clear against a linux page table walk.")

We also drop the equivalent IPI from other pte updates routines. We still keep
IPI in hash pmdp collapse and that is to take care of parallel hash page table
insert. The radix pmdp collapse flush can possibly be removed once I am sure
generic code doesn't have the any expectations around parallel gup walk.

This speeds up Qemu guest RAM del/unplug time as below

128 core, 496GB guest:

Without patch:
munmap start: timer = 13162 ms, PID=7684
munmap finish: timer = 95312 ms, PID=7684 - delta = 82150 ms

With patch:
munmap start: timer = 196449 ms, PID=6681
munmap finish: timer = 196488 ms, PID=6681 - delta = 39ms

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200505071729.54912-21-aneesh.kumar@linux.ibm.com
2020-05-05 21:20:16 +10:00
..
hash_4k.c
hash_64k.c
hash_hugepage.c
hash_hugetlbpage.c
hash_native.c powerpc/book3s64/hash: Use secondary hash for bolted mapping if the primary is full 2019-10-28 21:54:16 +11:00
hash_pgtable.c powerpc/mm/book3s64: Avoid sending IPI on clearing PMD 2020-05-05 21:20:16 +10:00
hash_tlb.c powerpc/hash64: Restrict page table lookup using init_mm with __flush_hash_table_range 2020-05-05 21:20:14 +10:00
hash_utils.c powerpc/book3s64/hash: Use the pte_t address from the caller 2020-05-05 21:20:14 +10:00
iommu_api.c powerpc/book3s64: Fix error handling in mm_iommu_do_alloc() 2020-03-04 22:44:27 +11:00
Makefile powerpc/pseries: Move mm/book3s64/vphn.c under platforms/pseries/ 2019-07-04 22:23:38 +10:00
mmu_context.c powerpc/book3s64/radix: Remove WARN_ON in destroy_context() 2019-09-21 08:36:53 +10:00
pgtable.c powerpc/mm/book3s64: Avoid sending IPI on clearing PMD 2020-05-05 21:20:16 +10:00
pkeys.c mm/vma: introduce VM_ACCESS_FLAGS 2020-04-10 15:36:21 -07:00
radix_hugetlbpage.c
radix_pgtable.c powerpc/mm/book3s64: Avoid sending IPI on clearing PMD 2020-05-05 21:20:16 +10:00
radix_tlb.c powerpc/64s/radix: Fix CONFIG_SMP=n build 2020-03-18 00:05:54 +11:00
slb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
subpage_prot.c pagewalk: separate function pointers from iterator data 2019-09-07 04:28:04 -03:00