NUMA++ 0.11.0
Loading...
Searching...
No Matches
numapp::CpuAffinity Class Reference

Create CPU affinity and apply to current thread. More...

#include <numapp/cpuaffinity.hpp>

Public Member Functions

 CpuAffinity (Cpumask &&mask) noexcept
 Create affinity from Cpumask.
 
Cpumask const & GetMask () const noexcept
 

Static Public Member Functions

static CpuAffinity MakeFromActive ()
 Create current affinity settings.
 
static CpuAffinity MakeFromCpuString (char const *cpustring)
 Create CpuAffinity from `cpustring` while considering allowed CPUs from current cpuset.
 
static CpuAffinity MakeFromCpuStringAll (char const *cpustring)
 Create CpuAffinity from `cpustring` without considering current cpuset.
 
static CpuAffinity MakeBindNode (int node)
 Create CpuAffinity bound to the specified NUMA node.
 
static CpuAffinity MakeBindCpu (int cpu)
 Create CpuAffinity bound to the specified CPU.
 

Related Symbols

(Note that these are not member symbols.)

std::ostream & operator<< (std::ostream &os, CpuAffinity const &affinity)
 Formats affinity and inserts it to os.
 
Apply CPU Affinity to Current Thread

Applies specified policy to calling thread.

std::error_code Apply (CpuAffinity const &affinity) noexcept
 Apply policy to calling thread.
 
Apply CPU Affinity to Specific Thread

Applies specified policy to calling thread.

std::error_code Apply (pid_t thread, CpuAffinity const &affinity) noexcept
 Apply policy to specified thread.
 

Detailed Description

Create CPU affinity and apply to current thread.

For memory policy see numapp::MemPolicy.

Related man-page(s):
See also
numapp::MemPolicy

Definition at line 87 of file cpuaffinity.hpp.

Constructor & Destructor Documentation

◆ CpuAffinity()

numapp::CpuAffinity::CpuAffinity ( Cpumask && mask)
explicitnoexcept

Create affinity from Cpumask.

Parameters
maskThe CPU-mask to use.

Definition at line 29 of file cpuaffinity.cpp.

Member Function Documentation

◆ GetMask()

Cpumask const & numapp::CpuAffinity::GetMask ( ) const
noexcept
Returns
Underlying CPU mask.

Definition at line 65 of file cpuaffinity.cpp.

◆ MakeBindCpu()

CpuAffinity numapp::CpuAffinity::MakeBindCpu ( int cpu)
staticnodiscard

Create CpuAffinity bound to the specified CPU.

Exceptions
std::system_erroron failure.

Definition at line 59 of file cpuaffinity.cpp.

◆ MakeBindNode()

CpuAffinity numapp::CpuAffinity::MakeBindNode ( int node)
staticnodiscard

Create CpuAffinity bound to the specified NUMA node.

Exceptions
std::system_erroron failure.

Definition at line 51 of file cpuaffinity.cpp.

◆ MakeFromActive()

CpuAffinity numapp::CpuAffinity::MakeFromActive ( )
staticnodiscard

Create current affinity settings.

Exceptions
std::system_erroron failure.

Definition at line 35 of file cpuaffinity.cpp.

◆ MakeFromCpuString()

CpuAffinity numapp::CpuAffinity::MakeFromCpuString ( char const * cpustring)
staticnodiscard

Create CpuAffinity from `cpustring` while considering allowed CPUs from current cpuset.

Example patterns:

  • 1-5,7,10
  • !4-5
  • +0-3
  • all

c.f. numa_parse_cpustring for how the format is specified.

Note
numa_parse_cpustring
Parameters
cpustringCPUs to include such as 1-5,7,10 or all.
Exceptions
std::system_erroron failure. Method will fail if cpustring references a CPU outside current cpuset. Use MakeFromCpuStringAll when current cpuset should not be considered.
See also
MakeFromCpuStringAll

Definition at line 43 of file cpuaffinity.cpp.

◆ MakeFromCpuStringAll()

CpuAffinity numapp::CpuAffinity::MakeFromCpuStringAll ( char const * cpustring)
staticnodiscard

Create CpuAffinity from `cpustring` without considering current cpuset.

Example patterns:

  • 1-5,7,10
  • !4-5
  • +0-3
  • all

c.f. numa_parse_cpustring for how the format is specified.

Note
The cpustring is parsed using numa_parse_cpustring_all which does not consider current cpuset. This method must be used when referencing CPUs isolated with isolcpus.
Parameters
cpustringCPUs to include such as 1-5,7,10 or all.
Exceptions
std::system_erroron failure.
See also
MakeFromCpuString

Definition at line 47 of file cpuaffinity.cpp.

Friends And Related Symbol Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream & os,
CpuAffinity const & affinity )
related

Formats affinity and inserts it to os.

Parameters
osoutput stream to insert into.
affinityCPU affinity to format.
Returns
os

Definition at line 69 of file cpuaffinity.cpp.


The documentation for this class was generated from the following files: