diff options
author | Dean Roe <roe@sgi.com> | 2006-03-06 11:32:05 -0500 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-03-28 11:39:10 -0500 |
commit | 769ebc66dec24770ea1e99019099d2bc636a61d3 (patch) | |
tree | 7ff5ac2a9eea5a7def26f32ad8ffd06b367ed8e0 /arch/ia64/sn | |
parent | e6ef0fca2c61f7e773178be8c3833a709a47e022 (diff) |
[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/ia64/sn')
-rw-r--r-- | arch/ia64/sn/kernel/sn2/sn_hwperf.c | 6 |
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) | |||
110 | if (sn_hwperf_location_to_bpos(location, &rack, &bay, &slot, &slab)) | 110 | if (sn_hwperf_location_to_bpos(location, &rack, &bay, &slot, &slab)) |
111 | return -1; | 111 | return -1; |
112 | 112 | ||
113 | for_each_node(cnode) { | 113 | /* |
114 | * FIXME: replace with cleaner for_each_XXX macro which addresses | ||
115 | * both compute and IO nodes once ACPI3.0 is available. | ||
116 | */ | ||
117 | for (cnode = 0; cnode < num_cnodes; cnode++) { | ||
114 | geoid = cnodeid_get_geoid(cnode); | 118 | geoid = cnodeid_get_geoid(cnode); |
115 | module_id = geo_module(geoid); | 119 | module_id = geo_module(geoid); |
116 | this_rack = MODULE_GET_RACK(module_id); | 120 | this_rack = MODULE_GET_RACK(module_id); |