17#ifndef NUMAPP_CPUAFFINITY_HPP_
18#define NUMAPP_CPUAFFINITY_HPP_
24#include <system_error>
49[[nodiscard]] std::error_code
Apply(CpuAffinity
const& affinity)
noexcept;
71[[nodiscard]] std::error_code
Apply(pid_t thread,
CpuAffinity const& affinity)
noexcept;
101 [[nodiscard]]
bool operator==(
CpuAffinity const& rhs)
const noexcept {
102 return m_mask == rhs.m_mask;
104 [[nodiscard]]
bool operator!=(
CpuAffinity const& rhs)
const noexcept {
105 return !(*
this == rhs);
193std::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.