This interface helps converting between Linux libnuma bitmasks 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_bitmask |
( |
hwloc_topology_t |
topology, |
|
|
hwloc_cpuset_t |
cpuset, |
|
|
const struct bitmask * |
bitmask |
|
) |
| |
|
static |
Convert libnuma bitmask bitmask
into hwloc CPU set cpuset
.
This function may be used after calling many numa_ functions that use a struct bitmask as an output parameter.
Convert hwloc CPU set cpuset
into the returned libnuma bitmask.
The returned bitmask should later be freed with numa_bitmask_free.
This function may be used before calling many numa_ functions that use a struct bitmask as an input parameter.
- Returns
- newly allocated struct bitmask.
Convert libnuma bitmask bitmask
into hwloc NUMA node set nodeset
.
This function may be used after calling many numa_ functions that use a struct bitmask as an output parameter.
Convert hwloc NUMA node set nodeset
into the returned libnuma bitmask.
The returned bitmask should later be freed with numa_bitmask_free.
This function may be used before calling many numa_ functions that use a struct bitmask as an input parameter.
- Returns
- newly allocated struct bitmask.