Man page - pthread_attr_getaffinity_np(3)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

pthread_attr_setaffinity_np

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
ATTRIBUTES
STANDARDS
HISTORY
NOTES
SEE ALSO

NAME

pthread_attr_setaffinity_np, pthread_attr_getaffinity_np - set/get CPU affinity attribute in thread attributes object

LIBRARY

POSIX threads library ( libpthread , -lpthread )

SYNOPSIS

#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <pthread.h>

int pthread_attr_setaffinity_np(pthread_attr_t * attr ,
size_t
cpusetsize , const cpu_set_t * cpuset );
int pthread_attr_getaffinity_np(const pthread_attr_t *
attr ,
size_t
cpusetsize , cpu_set_t * cpuset );

DESCRIPTION

The pthread_attr_setaffinity_np () function sets the CPU affinity mask attribute of the thread attributes object referred to by attr to the value specified in cpuset . This attribute determines the CPU affinity mask of a thread created using the thread attributes object attr .

The pthread_attr_getaffinity_np () function returns the CPU affinity mask attribute of the thread attributes object referred to by attr in the buffer pointed to by cpuset .

The argument cpusetsize is the length (in bytes) of the buffer pointed to by cpuset . Typically, this argument would be specified as sizeof(cpu_set_t) .

For more details on CPU affinity masks, see sched_setaffinity (2). For a description of a set of macros that can be used to manipulate and inspect CPU sets, see CPU_SET (3).

RETURN VALUE

On success, these functions return 0; on error, they return a nonzero error number.

ERRORS

EINVAL

( pthread_attr_setaffinity_np ()) cpuset specified a CPU that was outside the set supported by the kernel. (The kernel configuration option CONFIG_NR_CPUS defines the range of the set supported by the kernel data type used to represent CPU sets.)

EINVAL

( pthread_attr_getaffinity_np ()) A CPU in the affinity mask of the thread attributes object referred to by attr lies outside the range specified by cpusetsize (i.e., cpuset / cpusetsize is too small).

ENOMEM

( pthread_attr_setaffinity_np ()) Could not allocate memory.

ATTRIBUTES

For an explanation of the terms used in this section, see attributes (7).

Image grohtml-432048-1.png

STANDARDS

GNU; hence the suffix "_np" (nonportable) in the names.

HISTORY

glibc 2.3.4.

NOTES

In glibc 2.3.3 only, versions of these functions were provided that did not have a cpusetsize argument. Instead the CPU set size given to the underlying system calls was always sizeof(cpu_set_t) .

SEE ALSO

sched_setaffinity (2), pthread_attr_init (3), pthread_setaffinity_np (3), cpuset (7), pthreads (7)