diff options
author | Mike Travis <travis@sgi.com> | 2016-08-01 14:40:53 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-08-10 09:55:39 -0400 |
commit | 5a52e8f822374bebc702bb2688ed8b5515bbb55b (patch) | |
tree | e416dd2873464a9fd098bd3a1878b919544ad10e | |
parent | 22ac2bca92f2d92c6495248d65ff648182df428d (diff) |
x86/platform/UV: Fix kernel panic running RHEL kdump kernel on UV systems
The latest UV kernel support panics when RHEL7 kexec's the kdump kernel
to make a dumpfile. This patch fixes the problem by turning off all UV
support if NUMA is off.
Tested-by: Frank Ramsay <framsay@sgi.com>
Tested-by: John Estabrook <estabrook@sgi.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com>
Reviewed-by: Nathan Zimmer <nzimmer@sgi.com>
Cc: Alex Thorlton <athorlton@sgi.com>
Cc: Andrew Banman <abanman@sgi.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russ Anderson <rja@sgi.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20160801184050.577755634@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 6aa0545879bb..cb0673c1e940 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
@@ -223,6 +223,11 @@ static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) | |||
223 | if (strncmp(oem_id, "SGI", 3) != 0) | 223 | if (strncmp(oem_id, "SGI", 3) != 0) |
224 | return 0; | 224 | return 0; |
225 | 225 | ||
226 | if (numa_off) { | ||
227 | pr_err("UV: NUMA is off, disabling UV support\n"); | ||
228 | return 0; | ||
229 | } | ||
230 | |||
226 | /* Setup early hub type field in uv_hub_info for Node 0 */ | 231 | /* Setup early hub type field in uv_hub_info for Node 0 */ |
227 | uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0; | 232 | uv_cpu_info->p_uv_hub_info = &uv_hub_info_node0; |
228 | 233 | ||