Skip to contentSkip to conversation

discontig.c

PATCH In review Robert Picco 3 participants 3 messages Jun 10, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 discontig.c

Hi David and Andrew:

I found a problem with HP NUMA configuration in 2.6.7-rc3-mm1. The node_online_map is incorrect
because of actions taken by reassign_cpu_only_nodes in arch/ia64/mm/discontig.c. The mm1 patch
which changes the mempolicy for the init_task uses this invalid node_online_map and eventually uses a
non-existent node's zonelist when calling __alloc_pages.

The patch below takes care of this issue. It puts the non-existent nodes offline.

thanks,

Bob

arch/ia64/mm/discontig.c +3 -0
diff -ruN -X /home/picco/losl/dontdiff linux-2.6.7-rc3-m1.orig/arch/ia64/mm/discontig.c linux-2.6.7-rc3-m1.hpet/arch/ia64/mm/discontig.c
@@ -154,6 +154,9 @@
 
 	memcpy(numa_slit, numa_slit_fix, sizeof (numa_slit));
 
+	for (i = nnode; i < numnodes; i++)
+		node_set_offline(i);
+
 	numnodes = nnode;
 
 	return;
#1 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Robert Picco

Rob> Hi David and Andrew: I found a problem with HP NUMA Rob> configuration in 2.6.7-rc3-mm1. The node_online_map is Rob> incorrect because of actions taken by reassign_cpu_only_nodes Rob> in arch/ia64/mm/discontig.c. The mm1 patch which changes the Rob> mempolicy for the init_task uses this invalid node_online_map Rob> and eventually uses a non-existent node's zonelist when calling Rob> __alloc_pages.

The patch looks fine to me. If there are no objections from others, I shall be happy to apply it in my tree, if that's what you want me to do.

	--david
#2 lore raw
In reply to Robert Picco
Quoted 11 lines · David Mosberger
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

On Thu, 10 Jun 2004 11:23:28 -0400, Robert Picco
<[email protected]> said:

Rob> Hi David and Andrew: I found a problem with HP NUMA Rob> configuration in 2.6.7-rc3-mm1. The node_online_map is Rob> incorrect because of actions taken by reassign_cpu_only_nodes Rob> in arch/ia64/mm/discontig.c. The mm1 patch which changes the Rob> mempolicy for the init_task uses this invalid node_online_map Rob> and eventually uses a non-existent node's zonelist when calling Rob> __alloc_pages.

Quoted 3 lines

The patch looks fine to me. If there are no objections from others, I shall be happy to apply it in my tree, if that's what you want me to do.

The node_online bitmap is already initialized to 0, isn't it? Oh no, I see. arch_numa_init sets all the available nodes online, but then reassign_cpu_nodes truncates that number. The patch looks ok to me.

Jesse