posix-next API 0.1.0
Out-of-tree Zephyr POSIX module
Loading...
Searching...
No Matches
cpuset.h File Reference

CPU sets for thread affinity (GNU extension, <sched.h>) More...

#include <stddef.h>
#include <stdint.h>
Include dependency graph for cpuset.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cpu_set_t
 Set of CPUs for pthread_getaffinity_np() and pthread_setaffinity_np() (GNU extension). More...
 

Macros

#define CPU_SETSIZE   32
 Number of CPUs a cpu_set_t can name (GNU extension).
 
#define __CPU_WORD(cpu)   ((size_t)(cpu) / 32)
 
#define __CPU_BIT(cpu)   (1U << ((size_t)(cpu) % 32))
 
#define CPU_ZERO(set)   __cpu_zero(set)
 Remove every CPU from set (GNU extension).
 
#define CPU_SET(cpu, set)
 Add CPU cpu to set (GNU extension).
 
#define CPU_CLR(cpu, set)
 Remove CPU cpu from set (GNU extension).
 
#define CPU_ISSET(cpu, set)    (((size_t)(cpu) < CPU_SETSIZE) && (((set)->__bits[__CPU_WORD(cpu)] & __CPU_BIT(cpu)) != 0))
 Test whether CPU cpu is in set (GNU extension).
 
#define CPU_COUNT(set)   __cpu_count(set)
 Number of CPUs in set (GNU extension).
 
#define CPU_EQUAL(a, b)   __cpu_equal(a, b)
 Test whether a and b name the same CPUs (GNU extension).
 

Functions

static void __cpu_zero (cpu_set_t *set)
 
static int __cpu_count (const cpu_set_t *set)
 
static int __cpu_equal (const cpu_set_t *a, const cpu_set_t *b)
 

Detailed Description

CPU sets for thread affinity (GNU extension, <sched.h>)

Definition in file cpuset.h.

Macro Definition Documentation

◆ __CPU_BIT

#define __CPU_BIT (   cpu)    (1U << ((size_t)(cpu) % 32))

Definition at line 69 of file cpuset.h.

◆ __CPU_WORD

#define __CPU_WORD (   cpu)    ((size_t)(cpu) / 32)

Definition at line 68 of file cpuset.h.

Function Documentation

◆ __cpu_count()

static int __cpu_count ( const cpu_set_t set)
inlinestatic

Definition at line 46 of file cpuset.h.

◆ __cpu_equal()

static int __cpu_equal ( const cpu_set_t a,
const cpu_set_t b 
)
inlinestatic

Definition at line 57 of file cpuset.h.

◆ __cpu_zero()

static void __cpu_zero ( cpu_set_t set)
inlinestatic

Definition at line 39 of file cpuset.h.