linux/arch/powerpc/include/asm/book3s/64
Kiryl Shutsemau (Meta) c6f11553c0 mm: decouple protnone helpers from CONFIG_NUMA_BALANCING
Patch series "userfaultfd: working set tracking for VM guest memory", v10.

This series adds userfaultfd support for tracking the working set of VM
guest memory, so a VMM can identify hot pages and reclaim cold ones to
tiered or remote storage.


This patch (of 15):

pte_protnone() and pmd_protnone() detect present-but-inaccessible page
table entries.  This capability is useful beyond NUMA balancing -- for
example, userfaultfd working set tracking uses protnone PTEs to track page
access without unmapping pages.

Introduce CONFIG_ARCH_HAS_PTE_PROTNONE to decouple the protnone PTE
infrastructure from CONFIG_NUMA_BALANCING.  The six architectures that
support protnone PTEs (x86_64, arm64, powerpc, s390, riscv, loongarch) now
select this option, and CONFIG_NUMA_BALANCING depends on it.

No functional change -- the same set of architectures continues to have
working protnone support, but the infrastructure is now available
independently of NUMA balancing.

Link: https://lore.kernel.org/20260708111417.173443-1-kirill@shutemov.name
Link: https://lore.kernel.org/20260708111417.173443-2-kirill@shutemov.name
Signed-off-by: Kiryl Shutsemau (Meta) <kas@kernel.org>
Assisted-by: Claude:claude-opus-4-6
Acked-by: SeongJae Park <sj@kernel.org>
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: David Hildenbrand <david@kernel.org>
Cc: James Houghton <jthoughton@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Liam Howlett <liam@infradead.org>
Cc: Lorenzo Stoakes <ljs@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@kernel.org>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-08-04 19:18:36 -07:00
..
hash-4k.h powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-01 13:23:29 +05:30
hash-64k.h powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-01 13:23:29 +05:30
hash-pkey.h powerpc/kuap: MMU_FTR_BOOK3S_KUAP becomes MMU_FTR_KUAP 2023-08-02 22:22:18 +10:00
hash.h powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-01 13:23:29 +05:30
hugetlb.h mm/hugetlb: enable bootmem allocation from CMA areas 2025-03-16 22:06:31 -07:00
kexec.h powerpc/dexcr: Add initial Dynamic Execution Control Register (DEXCR) support 2023-06-19 17:36:25 +10:00
kup.h powerpc/uaccess: Remove unused size and from parameters from allow_access_user() 2026-01-07 09:31:04 +05:30
mmu-hash.h powerpc/64s/slb: Fix SLB multihit issue during SLB preload 2025-11-18 12:35:52 +05:30
mmu.h powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-01 13:23:29 +05:30
pgalloc.h powerpc/64s: Enable KFENCE on book3s64 2022-09-28 19:22:10 +10:00
pgtable-64k.h powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-01 13:23:29 +05:30
pgtable.h mm: decouple protnone helpers from CONFIG_NUMA_BALANCING 2026-08-04 19:18:36 -07:00
pkeys.h mm: change vm_get_page_prot() to accept vm_flags_t argument 2025-07-09 22:42:13 -07:00
radix-4k.h powerpc/book3s/radix-4k.h: delete duplicated word 2020-07-27 00:01:31 +10:00
radix-64k.h powerpc/mm/64: Document the sizes of/sizes mapped by Pxx_INDEX_SIZE 2019-04-20 22:02:11 +10:00
radix.h powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-01 13:23:29 +05:30
slice.h powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-01 13:23:29 +05:30
tlbflush-hash.h powerpc/mm: replace batch->active with is_lazy_mmu_mode_active() 2026-01-20 19:24:34 -08:00
tlbflush-radix.h powerpc/64s/tlbflush-radix: Remove unused radix__flush_tlb_pwc() 2026-03-17 13:56:37 +05:30
tlbflush.h powerpc/book3s64: Avoid __pte_protnone() check in __pte_flags_need_flush() 2023-12-07 23:34:11 +11:00