Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 173056
b: refs/heads/master
c: d9c2d5a
h: refs/heads/master
v: v3
  • Loading branch information
Yinghai Lu authored and Ingo Molnar committed Nov 23, 2009
1 parent eb9301b commit 5e913e2
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 021428ad1418cf3c386a1a0157140c3ea29b17ef
refs/heads/master: d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9
6 changes: 5 additions & 1 deletion trunk/arch/x86/kernel/cpu/intel.c
Original file line number Diff line number Diff line change
Expand Up @@ -263,8 +263,12 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c)
/* Don't do the funky fallback heuristics the AMD version employs
for now. */
node = apicid_to_node[apicid];
if (node == NUMA_NO_NODE || !node_online(node))
if (node == NUMA_NO_NODE)
node = first_node(node_online_map);
else if (!node_online(node)) {
/* reuse the value from init_cpu_to_node() */
node = cpu_to_node(cpu);
}
numa_set_node(cpu, node);

printk(KERN_INFO "CPU %d/0x%x -> Node %d\n", cpu, apicid, node);
Expand Down
21 changes: 20 additions & 1 deletion trunk/arch/x86/mm/numa_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -764,6 +764,25 @@ static __init int numa_setup(char *opt)
early_param("numa", numa_setup);

#ifdef CONFIG_NUMA

static __init int find_near_online_node(int node)
{
int n, val;
int min_val = INT_MAX;
int best_node = -1;

for_each_online_node(n) {
val = node_distance(node, n);

if (val < min_val) {
min_val = val;
best_node = n;
}
}

return best_node;
}

/*
* Setup early cpu_to_node.
*
Expand Down Expand Up @@ -795,7 +814,7 @@ void __init init_cpu_to_node(void)
if (node == NUMA_NO_NODE)
continue;
if (!node_online(node))
continue;
node = find_near_online_node(node);
numa_set_node(cpu, node);
}
}
Expand Down

0 comments on commit 5e913e2

Please sign in to comment.