Skip to contentSkip to conversation

CPUs on memoryless nodes not being reassigned

PATCH In review Daniel Yeisley 2 participants 3 messages Mar 26, 2008 x86

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 CPUs on memoryless nodes not being reassigned

When I boot with memoryless nodes on the latest 2.6.25-rc kernels, the CPUs aren't being reassigned to nodes with memory.

---

arch/x86/kernel/setup_64.c +1 -1
diff -Nuar linux-2.6.25-rc6/arch/x86/kernel/setup_64.c linux-2.6.25-rc6-new/arch/x86/kernel/setup_64.c
@@ -801,7 +801,7 @@
 	/* Don't do the funky fallback heuristics the AMD version employs
 	   for now. */
 	node = apicid_to_node[apicid];
-	if (node == NUMA_NO_NODE)
+	if (node == NUMA_NO_NODE || !node_online(node))
 		node = first_node(node_online_map);
 	numa_set_node(cpu, node);
 
#1 lore raw

arch/x86/kernel/setup_64.c line 805

Quoted 7 lines · Daniel Yeisley

When I boot with memoryless nodes on the latest 2.6.25-rc kernels, the CPUs aren't being reassigned to nodes with memory.

arch/x86/kernel/setup_64.c +1 -1
 	node = apicid_to_node[apicid];
-	if (node == NUMA_NO_NODE)
+	if (node == NUMA_NO_NODE || !node_online(node))
 		node = first_node(node_online_map);

that's already fixed in x86.git/latest, by Yinghai Lu, could you try it:

http://people.redhat.com/mingo/x86.git/README

(let me know if there's any other problem with your hardware on x86.git/latest.)

Ingo

#2 lore raw
Quoted 10 lines

-----Original Message-----
From: Ingo Molnar [mailto:[email protected]]
Sent: Wednesday, March 26, 2008 9:10
To: Yeisley, Dan P.
Cc: [email protected]; [email protected]; Yinghai Lu
Subject: Re: [PATCH] CPUs on memoryless nodes not being reassigned

Quoted 3 lines
Quoted 1 line · Daniel Yeisley

When I boot with memoryless nodes on the latest 2.6.25-rc kernels,

the

Quoted 8 lines

arch/x86/kernel/setup_64.c line 805

Quoted 6 lines

CPUs aren't being reassigned to nodes with memory.

arch/x86/kernel/setup_64.c +1 -1
 	node = apicid_to_node[apicid];
-	if (node == NUMA_NO_NODE)
+	if (node == NUMA_NO_NODE || !node_online(node))
 		node = first_node(node_online_map);

that's already fixed in x86.git/latest, by Yinghai Lu, could you try

it:

Quoted 7 lines

http://people.redhat.com/mingo/x86.git/README

(let me know if there's any other problem with your hardware on x86.git/latest.)

Ingo

I tried the x86.git/latest and it worked.

Dan