forked from Minki/linux
[IA64-SGI] - Fix discover of nearest cpu node to IO node
Fix a bug that causes discovery of the nearest node/cpu to a TIO (IO node) to fail. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
c1311af12c
commit
f0fe253c47
@ -284,6 +284,8 @@ static int sn_hwperf_get_nearest_node_objdata(struct sn_hwperf_object_info *objb
|
||||
/* find nearest node with cpus and nearest memory */
|
||||
for (router=NULL, j=0; j < op->ports; j++) {
|
||||
dest = sn_hwperf_findobj_id(objbuf, nobj, ptdata[j].conn_id);
|
||||
if (dest && SN_HWPERF_IS_ROUTER(dest))
|
||||
router = dest;
|
||||
if (!dest || SN_HWPERF_FOREIGN(dest) ||
|
||||
!SN_HWPERF_IS_NODE(dest) || SN_HWPERF_IS_IONODE(dest)) {
|
||||
continue;
|
||||
@ -299,8 +301,6 @@ static int sn_hwperf_get_nearest_node_objdata(struct sn_hwperf_object_info *objb
|
||||
*near_mem_node = c;
|
||||
found_mem++;
|
||||
}
|
||||
if (SN_HWPERF_IS_ROUTER(dest))
|
||||
router = dest;
|
||||
}
|
||||
|
||||
if (router && (!found_cpu || !found_mem)) {
|
||||
|
@ -45,8 +45,12 @@ struct sn_hwperf_object_info {
|
||||
#define SN_HWPERF_IS_NODE(x) ((x) && strstr((x)->name, "SHub"))
|
||||
#define SN_HWPERF_IS_NODE_SHUB2(x) ((x) && strstr((x)->name, "SHub 2."))
|
||||
#define SN_HWPERF_IS_IONODE(x) ((x) && strstr((x)->name, "TIO"))
|
||||
#define SN_HWPERF_IS_ROUTER(x) ((x) && strstr((x)->name, "Router"))
|
||||
#define SN_HWPERF_IS_NL3ROUTER(x) ((x) && strstr((x)->name, "NL3Router"))
|
||||
#define SN_HWPERF_IS_NL4ROUTER(x) ((x) && strstr((x)->name, "NL4Router"))
|
||||
#define SN_HWPERF_IS_OLDROUTER(x) ((x) && strstr((x)->name, "Router"))
|
||||
#define SN_HWPERF_IS_ROUTER(x) (SN_HWPERF_IS_NL3ROUTER(x) || \
|
||||
SN_HWPERF_IS_NL4ROUTER(x) || \
|
||||
SN_HWPERF_IS_OLDROUTER(x))
|
||||
#define SN_HWPERF_FOREIGN(x) ((x) && !(x)->sn_hwp_this_part && !(x)->sn_hwp_is_shared)
|
||||
#define SN_HWPERF_SAME_OBJTYPE(x,y) ((SN_HWPERF_IS_NODE(x) && SN_HWPERF_IS_NODE(y)) ||\
|
||||
(SN_HWPERF_IS_IONODE(x) && SN_HWPERF_IS_IONODE(y)) ||\
|
||||
|
Loading…
Reference in New Issue
Block a user