That's my point - it usually crashes everywhere else.
The problem is that it's not regression tested and quite complex and> tends to break often and stay broken.
If you don't want to mark it CONFIG_BROKEN then i would suggest a panic
early when the system isn't SUMMIT (I think NUMAQ does this already)
Something like the appended patch
-Andi-
i386: Panic the system early 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.
Signed-off-by: Andi Kleen <ak@xxxxxxx>
Index: linux/arch/i386/kernel/srat.c
===================================================================
--- linux.orig/arch/i386/kernel/srat.c
+++ linux/arch/i386/kernel/srat.c
@@ -327,6 +327,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",
Index: linux/arch/i386/Kconfig
===================================================================
--- linux.orig/arch/i386/Kconfig
+++ linux/arch/i386/Kconfig
@@ -517,6 +517,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)