Hi Mike, On Tue, Jan 31, 2023 at 08:41:49PM +0200, Mike Rapoport wrote:
On Tue, Jan 31, 2023 at 05:47:24PM +0000, Conor Dooley wrote:On Sun, Jan 29, 2023 at 02:42:35PM +0200, Mike Rapoport wrote:From: "Mike Rapoport (IBM)" <rppt@xxxxxxxxxx> Every architecture that supports FLATMEM memory model defines its own version of pfn_valid() that essentially compares a pfn to max_mapnr. Use mips/powerpc version implemented as static inline as a generic implementation of pfn_valid() and drop its per-architecture definitions. Signed-off-by: Mike Rapoport (IBM) <rppt@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Guo Ren <guoren@xxxxxxxxxx> # csky Acked-by: Huacai Chen <chenhuacai@xxxxxxxxxxx> # LoongArch Acked-by: Stafford Horne <shorne@xxxxxxxxx> # OpenRISCHmm, so this landed in linux-next today and I bisected a boot failure in my CI to it. However, I am not really sure if it is a real issue worth worrying about as the platform it triggered on is supposed to be using SPARSEMEM, but isn't. I had thought that my CI was using a config with SPARSEMEM since that became required for riscv defconfig builds to boot in v6.1-rc1, but I must have just forgotten to add it to my $platform_defconfig builds too. However, those $platform_defconfig builds continued booting without SPARSEMEM enabled until today.The issue seems to be that the generic pfn_valid() does not take into account pfn_offset when it compares it with max_mapnr. Can you please test with the patch below? diff --git a/include/asm-generic/memory_model.h b/include/asm-generic/memory_model.h index 13d2a844d928..6796abe1900e 100644 --- a/include/asm-generic/memory_model.h +++ b/include/asm-generic/memory_model.h @@ -26,7 +26,7 @@ static inline int pfn_valid(unsigned long pfn) extern unsigned long max_mapnr; unsigned long pfn_offset = ARCH_PFN_OFFSET; - return pfn >= pfn_offset && pfn < max_mapnr; + return pfn >= pfn_offset && (pfn - pfn_offset) < max_mapnr; } #define pfn_valid pfn_valid #endif
Gave that a go, board is booting properly again! Feel free to add a: Tested-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> Thanks for the prompt fix!
Attachment:
signature.asc
Description: PGP signature