The feature of color zero pages isn't enabled on arm64, meaning all read-only (anonymous) VM areas are backed up by same zero page. It leads pressure to L1 (data) cache on reading data from them. This tries to enable color zero pages.
PATCH[1/2] decouples the zero PGD table from zero page PATCH[2/2] allocates the needed zero pages according to L1 cache size Gavin Shan (2): arm64/mm: Introduce zero PGD table arm64/mm: Enable color zero pages arch/arm64/include/asm/cache.h | 22 +++++++++++++++++ arch/arm64/include/asm/mmu_context.h | 6 ++--- arch/arm64/include/asm/pgtable.h | 11 +++++++-- arch/arm64/kernel/cacheinfo.c | 34 +++++++++++++++++++++++++++ arch/arm64/kernel/setup.c | 2 +- arch/arm64/kernel/vmlinux.lds.S | 4 ++++ arch/arm64/mm/init.c | 35 ++++++++++++++++++++++++++++ arch/arm64/mm/mmu.c | 7 ------ arch/arm64/mm/proc.S | 2 +- 9 files changed, 109 insertions(+), 14 deletions(-) -- 2.23.0