# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1262595822 0
# Node ID d3215a968db99f4a792cf94e0ba393c219d4aebd
# Parent bb34d8e578d204d4fd59f4c6a3a20ad16e862a15
Revert 20726:ddb8c5e798f9
Signed-off-by: Jiang, Yunhong <yunhong.jiang@xxxxxxxxx>
---
xen/arch/x86/numa.c | 12 ++++--------
xen/arch/x86/setup.c | 3 +--
xen/arch/x86/smpboot.c | 2 +-
xen/arch/x86/x86_64/mm.c | 2 +-
4 files changed, 7 insertions(+), 12 deletions(-)
diff -r bb34d8e578d2 -r d3215a968db9 xen/arch/x86/numa.c
--- a/xen/arch/x86/numa.c Wed Dec 30 13:10:03 2009 +0000
+++ b/xen/arch/x86/numa.c Mon Jan 04 09:03:42 2010 +0000
@@ -35,9 +35,6 @@ unsigned char cpu_to_node[NR_CPUS] __rea
unsigned char cpu_to_node[NR_CPUS] __read_mostly = {
[0 ... NR_CPUS-1] = NUMA_NO_NODE
};
-/*
- * Keep BIOS's CPU2node information, should not be used for memory allocaion
- */
unsigned char apicid_to_node[MAX_LOCAL_APIC] __cpuinitdata = {
[0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE
};
@@ -291,15 +288,14 @@ static __init int numa_setup(char *opt)
*/
void __devinit init_cpu_to_node(void)
{
- int i, node;
+ int i;
for (i = 0; i < NR_CPUS; i++) {
u32 apicid = x86_cpu_to_apicid[i];
if (apicid == BAD_APICID)
continue;
- node = apicid_to_node[apicid];
- if ( node == NUMA_NO_NODE || !node_online(node) )
- node = 0;
- numa_set_node(i, node);
+ if (apicid_to_node[apicid] == NUMA_NO_NODE)
+ continue;
+ numa_set_node(i,apicid_to_node[apicid]);
}
}
diff -r bb34d8e578d2 -r d3215a968db9 xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c Wed Dec 30 13:10:03 2009 +0000
+++ b/xen/arch/x86/setup.c Mon Jan 04 09:03:42 2010 +0000
@@ -20,7 +20,6 @@
#include <xen/rcupdate.h>
#include <xen/vga.h>
#include <xen/dmi.h>
-#include <xen/nodemask.h>
#include <public/version.h>
#ifdef CONFIG_COMPAT
#include <compat/platform.h>
@@ -264,7 +263,7 @@ void __devinit srat_detect_node(int cpu)
u32 apicid = x86_cpu_to_apicid[cpu];
node = apicid_to_node[apicid];
- if ( node == NUMA_NO_NODE || !node_online(node) )
+ if ( node == NUMA_NO_NODE )
node = 0;
numa_set_node(cpu, node);
diff -r bb34d8e578d2 -r d3215a968db9 xen/arch/x86/smpboot.c
--- a/xen/arch/x86/smpboot.c Wed Dec 30 13:10:03 2009 +0000
+++ b/xen/arch/x86/smpboot.c Mon Jan 04 09:03:42 2010 +0000
@@ -913,7 +913,7 @@ static int __devinit do_boot_cpu(int api
}
#else
if (!per_cpu(compat_arg_xlat, cpu))
- setup_compat_arg_xlat(cpu, cpu_to_node[cpu]);
+ setup_compat_arg_xlat(cpu, apicid_to_node[apicid]);
#endif
if (!idt_tables[cpu]) {
diff -r bb34d8e578d2 -r d3215a968db9 xen/arch/x86/x86_64/mm.c
--- a/xen/arch/x86/x86_64/mm.c Wed Dec 30 13:10:03 2009 +0000
+++ b/xen/arch/x86/x86_64/mm.c Mon Jan 04 09:03:42 2010 +0000
@@ -997,7 +997,7 @@ void __init subarch_init_memory(void)
}
if ( setup_compat_arg_xlat(smp_processor_id(),
- cpu_to_node[0]) )
+ apicid_to_node[boot_cpu_physical_apicid]) )
panic("Could not setup argument translation area");
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|