19#ifndef NUMAPP_CPUAFFINITY_HPP_
20#define NUMAPP_CPUAFFINITY_HPP_
26#include <system_error>
51[[nodiscard]] std::error_code
Apply(CpuAffinity
const& affinity)
noexcept;
73[[nodiscard]] std::error_code
Apply(pid_t thread,
CpuAffinity const& affinity)
noexcept;
103 [[nodiscard]]
bool operator==(
CpuAffinity const& rhs)
const noexcept {
104 return m_mask == rhs.m_mask;
106 [[nodiscard]]
bool operator!=(
CpuAffinity const& rhs)
const noexcept {
107 return !(*
this == rhs);
195std::ostream& operator<<(std::ostream& os,
CpuAffinity const& affinity);
Create CPU affinity and apply to current thread.
Cpumask const & GetMask() const noexcept
static CpuAffinity MakeFromCpuStringAll(char const *cpustring)
Create CpuAffinity from `cpustring` without considering current cpuset.
static CpuAffinity MakeBindCpu(int cpu)
Create CpuAffinity bound to the specified CPU.
static CpuAffinity MakeBindNode(int node)
Create CpuAffinity bound to the specified NUMA node.
CpuAffinity(Cpumask &&mask) noexcept
Create affinity from Cpumask.
static CpuAffinity MakeFromActive()
Create current affinity settings.
static CpuAffinity MakeFromCpuString(char const *cpustring)
Create CpuAffinity from `cpustring` while considering allowed CPUs from current cpuset.
Contains declarations for CpumaskTrait.
std::error_code Apply(CpuAffinity const &affinity) noexcept
Apply policy to calling thread.
std::error_code Apply(pid_t thread, CpuAffinity const &affinity) noexcept
Apply policy to specified thread.