i386: Panic the system when a NUMA kernel doesn't run on IBM NUMA
PATCH 20/82 i386: Panic the system when a NUMA kernel doesn't run on IBM NUMA
It has been broken forever anywhere else and is not too useful anyways so best to disable it.
--- arch/i386/Kconfig | 3 +++ arch/i386/kernel/srat.c | 8 ++++++++ 2 files changed, 11 insertions(+)
arch/i386/kernel/srat.c +8 -0
@@ -312,6 +312,14 @@ int __init get_memcfg_from_srat(void)int tables =0 ;int i =0 ; +extern int use_cyclone; +if (use_cyclone ==0 ) { +/* Make sure user sees something */ +static const char s[]__initdata ="Not an IBM x440/NUMAQ. Don't use i386 CONFIG_NUMA anywhere else." ; +early_printk (s); +panic (s); + } +if (ACPI_FAILURE (acpi_find_root_pointer (ACPI_PHYSICAL_ADDRESSING , rsdp_address))) { printk("%s: System description tables not found\n",
arch/i386/Kconfig +3 -0
@@ -523,6 +523,9 @@ config NUMA depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI)) default n if X86_PC default y if (X86_NUMAQ || X86_SUMMIT) + help + NUMA support. Note this only works on IBM x440 or IBM NUMAQ. + Don't try to use it anywhere else. comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
arch/i386/kernel/srat.c int __init get_memcfg_from_srat(void) · line 321
Quoted 7 lines · Andi Kleen
arch/i386/kernel/srat.c +7
-0+extern int use_cyclone; +if (use_cyclone ==0 ) { +/* Make sure user sees something */ +static const char s[]__initdata ="Not an IBM x440/NUMAQ. Don't use i386 CONFIG_NUMA anywhere else." ; +early_printk (s); +panic (s); + }
non-IBM Machines do still boot with that enabled though don't they? Turning previously working configurations into panic()'s seems a bit odd, even with a warning.
Dave
Signature · 1 line
http://www.codemonkey.org.uk
Quoted 12 lines · Dave Jones
arch/i386/kernel/srat.c int __init get_memcfg_from_srat(void) · line 321
Quoted 7 lines · Andi Kleen
arch/i386/kernel/srat.c +7
-0+extern int use_cyclone; +if (use_cyclone ==0 ) { +/* Make sure user sees something */ +static const char s[]__initdata ="Not an IBM x440/NUMAQ. Don't use i386 CONFIG_NUMA anywhere else." ; +early_printk (s); +panic (s); + }non-IBM Machines do still boot with that enabled though don't they?
No they don't - as they likely didn't do before. e.g. Opterons generally break and that brings the point across clearer.
The rationale is that CONFIG_NUMA is very rarely used on i386 (even on summit) and always does bitrot quickly. It also doesn't work at all on a wide range of machines.
I'm sure someone will bring up now an example where their non Summit machine booted with CONFIG_NUMA, but they were just extremly lucky and unlikely to be for very long.
-Andi
Quoted 15 lines · Andi Kleen
Quoted 11 lines · Dave Jones
arch/i386/kernel/srat.c int __init get_memcfg_from_srat(void) · line 321
Quoted 7 lines · Andi Kleen
arch/i386/kernel/srat.c +7
-0+extern int use_cyclone; +if (use_cyclone ==0 ) { +/* Make sure user sees something */ +static const char s[]__initdata ="Not an IBM x440/NUMAQ. Don't use i386 CONFIG_NUMA anywhere else." ; +early_printk (s); +panic (s); + }Quoted 1 line
non-IBM Machines do still boot with that enabled though don't they?
Quoted 6 lines
No they don't - as they likely didn't do before. e.g. Opterons generally break and that brings the point across clearer.
The rationale is that
CONFIG_NUMAis very rarely used on i386 (even on summit) and always does bitrot quickly. It also doesn't work at all on a wide range of machines.
I agree that i386 CONFIG_NUMA is only ment to boot on small subset of hw but there is litte motivation to boot a numa kernel on a non-numa box. I am supprised that no one has enabled i386 AMD NUMA (the one numa box that regular people have access to).
Quoted 3 lines
I'm sure someone will bring up now an example where their non Summit machine booted with
CONFIG_NUMA, but they were just extremly lucky and unlikely to be for very long.
Current Summit HW (x460) dosen't use/have a cyclone. There are patches submitted to this list to support it's i386 NUMA boot.
Thanks,
Keith
Quoted 6 lines
I agree that i386
CONFIG_NUMAis only ment to boot on small subset of hw but there is litte motivation to boot a numa kernel on a non-numa box. I am supprised that no one has enabled i386 AMD NUMA (the one numa box that regular people have access to).
I never bothered because 32bit NUMA with lowmem only on node 0 isn't very useful. Using it with 64bit makes much more sense.
Quoted 6 lines
Quoted 3 lines
I'm sure someone will bring up now an example where their non Summit machine booted with
CONFIG_NUMA, but they were just extremly lucky and unlikely to be for very long.Current Summit HW (x460) dosen't use/have a cyclone. There are patches submitted to this list to support it's i386 NUMA boot.
Hmm, that's a good point. When the detection doesn't work reliable it's no good.
Ok, Linus please don't apply that patch for now then.
-Andi