Some questions about CPU binding flags...

I see in the doxy for hwloc_cpubind_flags_t that _STRICT explicitly says that 
it is meaningless when used to get the binding of a thread, and provides the 
definition for what happens when you get the binding of a process.  Good! (this 
is just background for the following 3 points...).

1. Is it permissible to use _PROCESS or _THREAD with 
get_proc_last_cpu_location() and get_proc_cpubind()?  I'm thinking that it 
doesn't make sense to use _THREAD here, and using _PROCESS would be redundant.  
Right?  If so, should we document that you can't use either of these, or, if 
you specify _PROCESS, it'll be ignored?

2. Is it permissible to use _PROCESS or _THREAD with get_last_cpu_location() 
and get_cpubind()?  I'm assuming that both of these are permissible (subject to 
OS constraints, of course).

3. Is it permissible to use _NOMEMBIND with any of these 4 functions?  I'm 
guessing that it's meaningless.  Should we document that this flag will be 
ignored, or that it is erroneous to use?

#1 and #3 are asking about what we should advise people to do in the 
documentation (e.g., even if you *can* use _PROCESS in get_proc_*() because the 
logic of the code ignores it, should we document that it will be ignored, or 
that you should not use it?).

I can update the docs with the results of this discussion (probably mainly the 
docs of these 4 functions, but maybe a sentence or two in the descriptions of 
the flags in cpu_flags_t section.

-- 
Jeff Squyres
[email protected]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to