We report the higher object matching the binding.
Go down if it's a cache that has a single identical child.
* Tools
+ Add -e or --get-last-cpu-location to hwloc-ps to report where
processes/threads run instead of where they are bound.
+ + hwloc-ps reports locations as likely-more-useful objects such as Cores
+ or Sockets instead of Caches when possible.
+ Add -e as a synonym to --get-last-cpu-location in hwloc-bind.
char type[64];
unsigned idx;
hwloc_obj_t obj = hwloc_get_first_largest_obj_inside_cpuset(topology, remaining);
+ /* don't show a cache if there's something equivalent and nicer */
+ while (obj->type == HWLOC_OBJ_CACHE && obj->arity == 1)
+ obj = obj->first_child;
hwloc_obj_type_snprintf(type, sizeof(type), obj, 1);
idx = logical ? obj->logical_index : obj->os_index;
if (idx == (unsigned) -1)