This includes helpers for manipulating Linux kernel cpumap files, and hwloc equivalents of the Linux sched_setaffinity and sched_getaffinity system calls.
◆ hwloc_linux_get_tid_cpubind()
Get the current binding of thread tid
.
The CPU-set set
(previously allocated by the caller) is filled with the list of PUs which the thread was last bound to.
The behavior is exactly the same as the Linux sched_getaffinity system call, but uses a hwloc cpuset.
- Returns
- 0 on success, -1 on error.
- Note
- This is equivalent to calling hwloc_get_proc_cpubind() with HWLOC_CPUBIND_THREAD as flags.
◆ hwloc_linux_get_tid_last_cpu_location()
Get the last physical CPU where thread tid
ran.
The CPU-set set
(previously allocated by the caller) is filled with the PU which the thread last ran on.
- Returns
- 0 on success, -1 on error.
- Note
- This is equivalent to calling hwloc_get_proc_last_cpu_location() with HWLOC_CPUBIND_THREAD as flags.
◆ hwloc_linux_read_path_as_cpumask()
int hwloc_linux_read_path_as_cpumask |
( |
const char * |
path, |
|
|
hwloc_bitmap_t |
set |
|
) |
| |
Convert a linux kernel cpumask file path
into a hwloc bitmap set
.
Might be used when reading CPU set from sysfs attributes such as topology and caches for processors, or local_cpus for devices.
- Returns
- 0 on success, -1 on error.
- Note
- This function ignores the HWLOC_FSROOT environment variable.
◆ hwloc_linux_set_tid_cpubind()
Bind a thread tid
on cpus given in cpuset set
.
The behavior is exactly the same as the Linux sched_setaffinity system call, but uses a hwloc cpuset.
- Returns
- 0 on success, -1 on error.
- Note
- This is equivalent to calling hwloc_set_proc_cpubind() with HWLOC_CPUBIND_THREAD as flags.