Skip to content

Commit

Permalink
windows: add support for Die and Module topology levels
Browse files Browse the repository at this point in the history
This looks like what Intel added in x86 (and what we already support in
the x86 backend) but it's missing the "Tile" level for some reason.

RelationProcessorDie uses our existing DIE object.

RelationProcessorModule uses GROUP with subkind "Module" just like x86 did.

Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
  • Loading branch information
bgoglin committed Nov 9, 2021
1 parent 011c738 commit 9522cbf
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion hwloc/topology-windows.c
Expand Up @@ -1237,9 +1237,19 @@ hwloc_look_windows(struct hwloc_backend *backend, struct hwloc_disc_status *dsta
break;
case RelationProcessorPackage:
type = HWLOC_OBJ_PACKAGE;
num = procInfo->Processor.GroupCount;
GroupMask = procInfo->Processor.GroupMask;
break;
case RelationProcessorDie:
type = HWLOC_OBJ_DIE;
num = procInfo->Processor.GroupCount;
GroupMask = procInfo->Processor.GroupMask;
break;
break;
case RelationProcessorModule:
type = HWLOC_OBJ_GROUP;
num = procInfo->Processor.GroupCount;
GroupMask = procInfo->Processor.GroupMask;
break;
case RelationCache:
type = (procInfo->Cache.Type == CacheInstruction ? HWLOC_OBJ_L1ICACHE : HWLOC_OBJ_L1CACHE) + procInfo->Cache.Level - 1;
num = 1;
Expand Down Expand Up @@ -1354,6 +1364,18 @@ hwloc_look_windows(struct hwloc_backend *backend, struct hwloc_disc_status *dsta
continue;
}
break;
case HWLOC_OBJ_GROUP:
switch (procInfo[i].Relationship) {
case RelationGroup:
obj->attr->group.kind = HWLOC_GROUP_KIND_WINDOWS_PROCESSOR_GROUP;
break;
case RelationProcessorModule:
obj->attr->group.kind = HWLOC_GROUP_KIND_INTEL_MODULE;
break;
default:
obj->attr->group.kind = HWLOC_GROUP_KIND_WINDOWS_RELATIONSHIP_UNKNOWN;
}
break;
default:
break;
}
Expand Down

0 comments on commit 9522cbf

Please sign in to comment.