Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm: Add PG_arch_3 page flag

As with PG_arch_2, this flag is only allowed on 64-bit architectures due
to the shortage of bits available. It will be used by the arm64 MTE code
in subsequent patches.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Steven Price <steven.price@arm.com>
[catalin.marinas@arm.com: added flag preserving in __split_huge_page_tail()]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221104011041.290951-5-pcc@google.com

authored by

Peter Collingbourne and committed by
Marc Zyngier
ef6458b1 2dbf12ae

+5
+1
fs/proc/page.c
··· 221 221 u |= kpf_copy_bit(k, KPF_ARCH, PG_arch_1); 222 222 #ifdef CONFIG_ARCH_USES_PG_ARCH_X 223 223 u |= kpf_copy_bit(k, KPF_ARCH_2, PG_arch_2); 224 + u |= kpf_copy_bit(k, KPF_ARCH_3, PG_arch_3); 224 225 #endif 225 226 226 227 return u;
+1
include/linux/kernel-page-flags.h
··· 18 18 #define KPF_UNCACHED 39 19 19 #define KPF_SOFTDIRTY 40 20 20 #define KPF_ARCH_2 41 21 + #define KPF_ARCH_3 42 21 22 22 23 #endif /* LINUX_KERNEL_PAGE_FLAGS_H */
+1
include/linux/page-flags.h
··· 134 134 #endif 135 135 #ifdef CONFIG_ARCH_USES_PG_ARCH_X 136 136 PG_arch_2, 137 + PG_arch_3, 137 138 #endif 138 139 #ifdef CONFIG_KASAN_HW_TAGS 139 140 PG_skip_kasan_poison,
+1
include/trace/events/mmflags.h
··· 131 131 IF_HAVE_PG_IDLE(PG_young, "young" ) \ 132 132 IF_HAVE_PG_IDLE(PG_idle, "idle" ) \ 133 133 IF_HAVE_PG_ARCH_X(PG_arch_2, "arch_2" ) \ 134 + IF_HAVE_PG_ARCH_X(PG_arch_3, "arch_3" ) \ 134 135 IF_HAVE_PG_SKIP_KASAN_POISON(PG_skip_kasan_poison, "skip_kasan_poison") 135 136 136 137 #define show_page_flags(flags) \
+1
mm/huge_memory.c
··· 2446 2446 (1L << PG_unevictable) | 2447 2447 #ifdef CONFIG_ARCH_USES_PG_ARCH_X 2448 2448 (1L << PG_arch_2) | 2449 + (1L << PG_arch_3) | 2449 2450 #endif 2450 2451 (1L << PG_dirty) | 2451 2452 LRU_GEN_MASK | LRU_REFS_MASK));