powerpc/s64: Clarify that radix lacks DEBUG_PAGEALLOC
The page_alloc.c code will call into __kernel_map_pages() when DEBUG_PAGEALLOC is configured and enabled. As the implementation assumes hash, this should crash spectacularly if not for a bit of luck in __kernel_map_pages(). In this function linear_map_hash_count is always zero, the for loop exits without doing any damage. There are no other platforms that determine if they support debug_pagealloc at runtime. Instead of adding code to mm/page_alloc.c to do that, this change turns the map/unmap into a noop when in radix mode and prints a warning once. Signed-off-by:Joel Stanley <joel@jms.id.au> Reviewed-by:
Christophe Leroy <christophe.leroy@csgroup.eu> [mpe: Reformat if per Christophe's suggestion] Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20211013213438.675095-1-joel@jms.id.au
Showing
- arch/powerpc/include/asm/book3s/64/hash.h 2 additions, 0 deletionsarch/powerpc/include/asm/book3s/64/hash.h
- arch/powerpc/include/asm/book3s/64/pgtable.h 10 additions, 0 deletionsarch/powerpc/include/asm/book3s/64/pgtable.h
- arch/powerpc/include/asm/book3s/64/radix.h 3 additions, 0 deletionsarch/powerpc/include/asm/book3s/64/radix.h
- arch/powerpc/mm/book3s64/hash_utils.c 1 addition, 1 deletionarch/powerpc/mm/book3s64/hash_utils.c
- arch/powerpc/mm/book3s64/radix_pgtable.c 7 additions, 0 deletionsarch/powerpc/mm/book3s64/radix_pgtable.c
Loading
Please register or sign in to comment