Hi Günter, Thanks for your patch! On Tue, Sep 24, 2024 at 1:56 AM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
SPLIT_PTE_PTLOCKS depends on "NR_CPUS >= 4". Unfortunately, that evaluates to true if there is no NR_CPUS configuration option. This results in CONFIG_SPLIT_PTE_PTLOCKS=y for mac_defconfig. This in turn causes the m68k "q800" and "virt" machines to crash in qemu if debugging options are enabled. Making CONFIG_SPLIT_PTE_PTLOCKS dependent on the existence of NR_CPUS does not work since a dependency on the existence of a numeric Kconfig entry always evaluates to false. Example: config HAVE_NO_NR_CPUS def_bool y depends on !NR_CPUS After adding this to a Kconfig file, "make defconfig" includes: $ grep NR_CPUS .config CONFIG_NR_CPUS=64 CONFIG_HAVE_NO_NR_CPUS=y Define NR_CPUS for m68k instead to solve the problem. Fixes: 394290cba966 ("mm: turn USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options") Cc: David Hildenbrand <david@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
I think it's a bit premature to add David's tag, as v2 is completely different from v1.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> --- v2: Instead of trying to make SPLIT_PTE_PTLOCKS depend on the existence of NR_CPUS, define NR_CPUS for m68k. v1: https://lore.kernel.org/lkml/202409240546.SJwj9tUj-lkp@xxxxxxxxx/T/#t
I replied on v1 why I think this is not the right solution. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds