|
static __hwloc_inline int | hwloc_cpuset_to_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, unsigned long *mask, unsigned long *maxnode) |
|
static __hwloc_inline int | hwloc_nodeset_to_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, unsigned long *mask, unsigned long *maxnode) |
|
static __hwloc_inline int | hwloc_cpuset_from_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const unsigned long *mask, unsigned long maxnode) |
|
static __hwloc_inline int | hwloc_nodeset_from_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_nodeset_t nodeset, const unsigned long *mask, unsigned long maxnode) |
|
This interface helps converting between Linux libnuma unsigned long masks and hwloc cpusets and nodesets.
It also offers a consistent behavior on non-NUMA machines or non-NUMA-aware kernels by assuming that the machines have a single NUMA node.
- Note
- Topology
topology
must match the current machine.
-
The behavior of libnuma is undefined if the kernel is not NUMA-aware. (when CONFIG_NUMA is not set in the kernel configuration). This helper and libnuma may thus not be strictly compatible in this case, which may be detected by checking whether numa_available() returns -1.
static __hwloc_inline int hwloc_cpuset_from_linux_libnuma_ulongs |
( |
hwloc_topology_t |
topology, |
|
|
hwloc_cpuset_t |
cpuset, |
|
|
const unsigned long * |
mask, |
|
|
unsigned long |
maxnode |
|
) |
| |
|
static |
Convert the array of unsigned long mask
into hwloc CPU set.
mask
is a array of unsigned long that will be read. maxnode
contains the maximal node number that may be read in mask
.
This function may be used after calling get_mempolicy or any other function that takes an array of unsigned long as output parameter (and possibly a maximal node number as input parameter).
Convert hwloc CPU set cpuset
into the array of unsigned long mask
.
mask
is the array of unsigned long that will be filled. maxnode
contains the maximal node number that may be stored in mask
. maxnode
will be set to the maximal node number that was found, plus one.
This function may be used before calling set_mempolicy, mbind, migrate_pages or any other function that takes an array of unsigned long and a maximal node number as input parameter.
static __hwloc_inline int hwloc_nodeset_from_linux_libnuma_ulongs |
( |
hwloc_topology_t |
topology, |
|
|
hwloc_nodeset_t |
nodeset, |
|
|
const unsigned long * |
mask, |
|
|
unsigned long |
maxnode |
|
) |
| |
|
static |
Convert the array of unsigned long mask
into hwloc NUMA node set.
mask
is a array of unsigned long that will be read. maxnode
contains the maximal node number that may be read in mask
.
This function may be used after calling get_mempolicy or any other function that takes an array of unsigned long as output parameter (and possibly a maximal node number as input parameter).
Convert hwloc NUMA node set nodeset
into the array of unsigned long mask
.
mask
is the array of unsigned long that will be filled. maxnode
contains the maximal node number that may be stored in mask
. maxnode
will be set to the maximal node number that was found, plus one.
This function may be used before calling set_mempolicy, mbind, migrate_pages or any other function that takes an array of unsigned long and a maximal node number as input parameter.