x86, UV: Fix initialization of max_pnode
Fix calculation of "max_pnode" for systems where the the highest blade has neither cpus or memory. (And, yes, although rare this does occur). Signed-off-by: Jack Steiner <steiner@sgi.com> LKML-Reference: <20100910150808.GA19802@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
df423dc7f2
commit
36ac4b987b
@@ -698,9 +698,11 @@ void __init uv_system_init(void)
|
|||||||
for (j = 0; j < 64; j++) {
|
for (j = 0; j < 64; j++) {
|
||||||
if (!test_bit(j, &present))
|
if (!test_bit(j, &present))
|
||||||
continue;
|
continue;
|
||||||
uv_blade_info[blade].pnode = (i * 64 + j);
|
pnode = (i * 64 + j);
|
||||||
|
uv_blade_info[blade].pnode = pnode;
|
||||||
uv_blade_info[blade].nr_possible_cpus = 0;
|
uv_blade_info[blade].nr_possible_cpus = 0;
|
||||||
uv_blade_info[blade].nr_online_cpus = 0;
|
uv_blade_info[blade].nr_online_cpus = 0;
|
||||||
|
max_pnode = max(pnode, max_pnode);
|
||||||
blade++;
|
blade++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -738,7 +740,6 @@ void __init uv_system_init(void)
|
|||||||
uv_cpu_hub_info(cpu)->scir.offset = uv_scir_offset(apicid);
|
uv_cpu_hub_info(cpu)->scir.offset = uv_scir_offset(apicid);
|
||||||
uv_node_to_blade[nid] = blade;
|
uv_node_to_blade[nid] = blade;
|
||||||
uv_cpu_to_blade[cpu] = blade;
|
uv_cpu_to_blade[cpu] = blade;
|
||||||
max_pnode = max(pnode, max_pnode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add blade/pnode info for nodes without cpus */
|
/* Add blade/pnode info for nodes without cpus */
|
||||||
@@ -750,7 +751,6 @@ void __init uv_system_init(void)
|
|||||||
pnode = (paddr >> m_val) & pnode_mask;
|
pnode = (paddr >> m_val) & pnode_mask;
|
||||||
blade = boot_pnode_to_blade(pnode);
|
blade = boot_pnode_to_blade(pnode);
|
||||||
uv_node_to_blade[nid] = blade;
|
uv_node_to_blade[nid] = blade;
|
||||||
max_pnode = max(pnode, max_pnode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
map_gru_high(max_pnode);
|
map_gru_high(max_pnode);
|
||||||
|
Reference in New Issue
Block a user