On Jan 5, 2011, at 5:51 PM, Samuel Thibault wrote:
>> Also, does your middle statement mean that hwloc_get_membind will return ENOSYS on all systems except Windows?
Before I commit, how's this text? (extrapolate for the other functions)
/** \brief Query the default memory binding policy and locality of the
* current process or thread (the locality is returned in \p nodeset).
* If neither HWLOC_MEMBIND_PROCESS nor HWLOC_MEMBIND_THREAD is
* specified, the current process is assumed to be single-threaded.
* This is the most portable form as it permits hwloc to use either
* process-based OS functions or thread-based OS functions, depending
* on which are available.
* If HWLOC_MEMBIND_STRICT is specified, the process' (or thread's)
* pages are first checked to see if they all have the same memory
* binding policy. If they do not, -1 is returned and errno is set to
* \note HWLOC_MEMBIND_STRICT is only supported with this function on
* some systems. If it is specified on an unsupported system, -1 is
* returned and errno is set to ENOSYS.
* If HWLOC_MEMBIND_STRICT is not specified, or if all the process'
* (or thread's) pages have the same memory binding policy, \p nodeset
* is cleared. Each page is then examined and has the bit set in \p
* nodeset corresponding to the NUMA node where it is located. The
* resulting \p nodeset represents the set of NUMA nodes containing
* all the pages in the process (or thread).
* If any other flags are specified, -1 is returned and errno is set
* to EINVAL.
HWLOC_DECLSPEC int hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_nodeset_t nodeset, hwloc_membind_policy_t * policy, int flags);
For corporate legal information go to: