Samuel Thibault wrote: > Yes, if we weren't wanting to express contradictory things it'd be way > simpler, but we want to. I don't believe duplicating information will > help the programmer to understand things. For now, I can see three > usage cases: > > - An application wants to bind itself somewhere. That's what the > default configuration is meant for. > > - A global monitoring application wants to check which processors are > online/allowed and where applications are running etc. That's what > the HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM flag helps for. >
Wait, does WHOLE_SYSTEM also toggle the ignoring of offline_cpus in obj->cpuset? The documentation doesn't say so, but the code seems to implement it. That would the best behavior. By the way, lstopo --whole-system fails on my dual-core machine when core#1 is offline and debug is enabled: Propagate total memory up 1853: hwloc__check_children: Assertion `hwloc_cpuset_iszero(remaining_parent_set)' failed. Brice