On 17/05/2010 00:23, Jirka Hladky wrote:
> Hi Brice,
> thanks a lot for the clarification!
> I got access to 64 cores system and you are indeed right! There is
> however an issue that taskset does not support 0x80000000,0x0 format.
> taskset 0x80000000,0x0 sleep 100
> failed to parse CPU mask 0x80000000,0x0
> taskset 0x8000000000000000 sleep 100
> works fine:-)
> Can I suggest an enhancement to hwloc to support taskset format?
> taskset is currently standard utility to set CPU affinity. Some
> colleagues of mine don't want to switch to hwloc-bind yet, so
> supporting taskset format would be great. You can certainly get around
> hwloc-calc --proclist --physical 0x80000000,0x0
> but it will make unnecessarily complex.
> Could you either add new option --cpuset-taskset-compatible or perhaps
> change --cpuset output from 0x80000000,0x0
> to 0x8000000000000000 ?
What does taskset format look like when you want the 128th CPUs ? Does
it change if you switch from a 32bits architecture to a 64bits
We have chosen the aforementioned cpuset string format so that it does
not depend on the architecture. It makes XML files re-usable from one
machine to another for instance (which is exactly the main point of
exporting XML files, by the way).
If we want to support taskset format, I think adding an option to lstopo
wouldn't be enough since some people might want the same option in
hwloc-distrib or hwloc-calc. So we'd end up adding a new API function.
And then somebody else will ask for support for another external tool
and we'd add another dedicated API.
The real question is: why do you still want to use taskset ? hwloc-bind
should do everything taskset does, and it also support cpusets as
"node:2.proc:1" or "proc:23-35".