summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDean Roe <roe@sgi.com>2006-03-06 17:32:05 +0100
committerTony Luck <tony.luck@intel.com>2006-03-28 18:39:10 +0200
commit769ebc66dec24770ea1e99019099d2bc636a61d3 (patch)
tree7ff5ac2a9eea5a7def26f32ad8ffd06b367ed8e0 /arch
parent[IA64-SGI] sn_hwperf use of num_online_cpus() (diff)
downloadlinux-769ebc66dec24770ea1e99019099d2bc636a61d3.tar.xz
linux-769ebc66dec24770ea1e99019099d2bc636a61d3.zip
[IA64-SGI] fix for-loop in sn_hwperf_geoid_to_cnode()
Fix a for-loop in sn_hwperf_geoid_to_cnode(). It needs to loop over num_cnodes to ensure it can still process TIO nodes in addition to compute nodes on systems with many nodes. Interim fix until better support for many (>265) nodes is complete. Signed-off-by: Dean Roe <roe@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/ia64/sn/kernel/sn2/sn_hwperf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/ia64/sn/kernel/sn2/sn_hwperf.c b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
index 6ff34fc05c82..d917afa30b27 100644
--- a/arch/ia64/sn/kernel/sn2/sn_hwperf.c
+++ b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
@@ -110,7 +110,11 @@ static int sn_hwperf_geoid_to_cnode(char *location)
if (sn_hwperf_location_to_bpos(location, &rack, &bay, &slot, &slab))
return -1;
- for_each_node(cnode) {
+ /*
+ * FIXME: replace with cleaner for_each_XXX macro which addresses
+ * both compute and IO nodes once ACPI3.0 is available.
+ */
+ for (cnode = 0; cnode < num_cnodes; cnode++) {
geoid = cnodeid_get_geoid(cnode);
module_id = geo_module(geoid);
this_rack = MODULE_GET_RACK(module_id);