diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-05-10 09:38:22 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-05-10 09:38:22 +0100 |
commit | 55225065b3306a2735337c1c70a12bb6baa876a9 (patch) | |
tree | f35efbf2135e89bee1c2689b13808b72cc1b698b | |
parent | ee109c1bcb29b80bb1662a4b2536dd6472605b49 (diff) | |
download | xen-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.c | 4 |
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 |