pthread_attr_setaffinity_np(3)

NUME
pthread_attr_setaffinity_npp, pthread_attr_getaffinity_np - stabilește/obține atributul de afinitate CPU în obiectul de atribute ale firului de execuție

BIBLIOTECA
Biblioteca de fire de execuție POSIX (libpthread, -lpthread)

REZUMAT
#define _GNU_SOURCE             /* Consultați 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);

DESCRIERE
Funcția pthread_attr_setaffinity_np() stabilește atributul de mască de afinitate CPU al obiectului de atribute ale firelor la care se face referire prin attr la valoarea specificată în cpuset. Acest atribut determină masca de afinitate CPU a unui fir creat cu ajutorul obiectului de atribute ale firului attr.

Funcția pthread_attr_getaffinity_np() returnează atributul de mască de afinitate CPU al obiectului de atribute ale firului de execuție la care se face referire prin attr în memoria tampon indicată de cpuset.

Argumentul cpusetsize este lungimea (în octeți) a memoriei tampon la care indică cpuset. În mod obișnuit, acest argument ar trebui să fie specificat ca sizeof(cpu_set_t).

Pentru mai multe detalii despre măștile de afinitate CPU, consultați sched_setaffinity(2). Pentru o descriere a unui set de macrocomenzi care pot fi utilizate pentru a manipula și inspecta seturile de CPU, consultați CPU_SET(3).

VALOAREA RETURNATĂ
În caz de succes, aceste funcții returnează 0; în caz de eroare, ele returnează un număr de eroare diferit de zero.

ERORI

EINVAL
    (pthread_attr_setaffinity_np()) cpuset a specificat o unitate centrală de procesare care nu face parte din setul acceptat de nucleu. (Opțiunea de configurare a nucleului CONFIG_NR_CPUS definește intervalul setului suportat de tipul de date al nucleului utilizat pentru a reprezenta seturile de unități centrale de procesare).

EINVAL
    (pthread_attr_getaffinity_np()) O unitate centrală de procesare în masca de afinitate a obiectului de atribute ale firelor la care se face referire prin attr se află în afara intervalului specificat de cpusetsize (adică cpuset/cpusetsize este prea mică).

ENOMEM
    (pthread_attr_setaffinity_np()) Nu s-a putut aloca memorie.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np() | Siguranța firelor | MT-Safe

STANDARDE
GNU; de aici și sufixul „_np” (neportabil) din denumiri.

ISTORIC
glibc 2.3.4.

NOTE
Numai în glibc 2.3.3, au fost furnizate versiuni ale acestor funcții care nu aveau un argument cpusetsize. În schimb, dimensiunea setului de procesoare transmisă apelurilor de sistem subiacente era întotdeauna sizeof(cpu_set_t).

CONSULTAȚI ȘI
sched_setaffinity(2), pthread_attr_init(3), pthread_setaffinity_np(3), cpuset(7), pthreads(7)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.