OpenCloudOS-Kernel/arch/powerpc/include/asm/book3s/64
Nicholas Piggin 5709f7cfd8 powerpc/mm/slice: implement a slice mask cache
Calculating the slice mask can become a signifcant overhead for
get_unmapped_area. This patch adds a struct slice_mask for
each page size in the mm_context, and keeps these in synch with
the slices psize arrays and slb_addr_limit.

On Book3S/64 this adds 288 bytes to the mm_context_t for the
slice mask caches.

On POWER8, this increases vfork+exec+exit performance by 9.9%
and reduces time to mmap+munmap a 64kB page by 28%.

Reduces time to mmap+munmap by about 10% on 8xx.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-03-13 23:43:06 +11:00
..
hash-4k.h powerpc/mm/hash64: Store the slot information at the right offset for hugetlb 2018-02-13 22:37:48 +11:00
hash-64k.h powerpc/mm/hash64: Store the slot information at the right offset for hugetlb 2018-02-13 22:37:48 +11:00
hash.h powerpc/mm/hash64: Allocate larger PMD table if hugetlb config is enabled 2018-02-13 22:37:48 +11:00
hugetlb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mmu-hash.h powerpc: Program HPTE key protection bits 2018-01-20 22:59:03 +11:00
mmu.h powerpc/mm/slice: implement a slice mask cache 2018-03-13 23:43:06 +11:00
pgalloc.h powerpc/mm/hash64: Zero PGD pages on allocation 2018-02-13 22:37:48 +11:00
pgtable-4k.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pgtable-64k.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pgtable.h powerpc/mm/hash64: Store the slot information at the right offset for hugetlb 2018-02-13 22:37:48 +11:00
radix-4k.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
radix-64k.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
radix.h mm/thp: remove pmd_huge_split_prepare() 2018-01-31 17:18:38 -08:00
slice.h powerpc/mm/slice: create header files dedicated to slices 2018-03-06 09:21:22 +11:00
tlbflush-hash.h powerpc/64s: Improve local TLB flush for boot and MCE on POWER9 2018-01-18 00:40:31 +11:00
tlbflush-radix.h powerpc/mm/radix: Fix build error when RADIX_MMU=n 2018-01-30 20:41:30 +11:00
tlbflush.h powerpc/64s: Fix ps3 build error due to tlbiel_all() 2018-01-19 22:36:45 +11:00