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.
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.