aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-05-10 09:38:22 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-05-10 09:38:22 +0100
commit55225065b3306a2735337c1c70a12bb6baa876a9 (patch)
treef35efbf2135e89bee1c2689b13808b72cc1b698b
parentee109c1bcb29b80bb1662a4b2536dd6472605b49 (diff)
downloadxen-55225065b3306a2735337c1c70a12bb6baa876a9.tar.gz
xen-55225065b3306a2735337c1c70a12bb6baa876a9.tar.bz2
xen-55225065b3306a2735337c1c70a12bb6baa876a9.zip
x86: make pxm_to_node() return sane values when disabling NUMA internally
Otherwise, pass-through code may call memory allocation functions with invalid node IDs, causing the allocations to fail. Signed-off-by: Jan Beulich <jbeulich@novell.com> xen-unstable changeset: 21234:d01ea51fc929 xen-unstable date: Mon Apr 26 12:11:30 2010 +0100
-rw-r--r--xen/arch/x86/srat.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index b89c58805e..5caeb6a683 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -25,7 +25,7 @@ static struct acpi_table_slit *__read_mostly acpi_slit;
static nodemask_t nodes_parsed __initdata;
static nodemask_t nodes_found __initdata;
static struct node nodes[MAX_NUMNODES] __initdata;
-static u8 __read_mostly pxm2node[256] = { [0 ... 255] = 0xff };
+static u8 __read_mostly pxm2node[256] = { [0 ... 255] = NUMA_NO_NODE };
static int num_node_memblks;
@@ -112,6 +112,8 @@ static __init void bad_srat(void)
acpi_numa = -1;
for (i = 0; i < MAX_LOCAL_APIC; i++)
apicid_to_node[i] = NUMA_NO_NODE;
+ for (i = 0; i < ARRAY_SIZE(pxm2node); i++)
+ pxm2node[i] = NUMA_NO_NODE;
}
#ifdef CONFIG_X86_64