pthread_attr_setaffinity_np(3)

BEZEICHNUNG
pthread_attr_setaffinity_np, pthread_attr_getaffinity_np - CPU-Affinitätsattribut in Thread-Attributobjekt setzen/erhalten

BIBLIOTHEK
POSIX-Threads-Bibliothek (libpthread, -lpthread)

ÜBERSICHT
#define _GNU_SOURCE             /* siehe feature_test_macros(7) */
#include <pthread.h>

int pthread_attr_setaffinity_np(pthread_attr_t *attr,
                   size_t cpugruppengröße, const cpu_set_t *cpugruppe);
int pthread_attr_getaffinity_np(const pthread_attr_t *attr,
                   size_t cpugruppengröße, cpu_set_t *cpugruppe);

BESCHREIBUNG
Die Funktion pthread_attr_setaffinity_np() setzt das CPU-Affinitätsmaskenattribut des Thread-Attributobjekts, auf das sich attr bezieht, auf den in cpugruppe festgelegten Wert. Dieses Attribut bestimmt die CPU-Affinitätsmaske eines Threads, der mittels des Thread-Attributobjekts attr erzeugt wird.

Die Funktion pthread_attr_getaffinity_np() liefert das CPU-Affinitätsmaskenattribut des Thread-Attributobjektes, auf das sich attr bezieht, in dem Puffer zurück, auf den cpugruppe zeigt.

Das Argument cpugruppengröße ist die Länge (in Byte) des Puffers, auf den cpugruppe zeigt. Typischerweise würde dieses Argument als sizeof(cpu_set_t) angegeben.

Siehe sched_setaffinity(2) für weitere Details zu CPU-Affinitätsmasken. Für eine Beschreibung der Gruppe von Makros, die zur Veränderung und Untersuchung von CPU-Gruppen verwandt werden können, siehe CPU_SET(3).

RÜCKGABEWERT
Bei Erfolg liefern diese Funktionen 0 zurück. Bei einem Fehler wird eine von Null verschiedene Fehlernummer zurückgeliefert.

FEHLER

EINVAL
    (pthread_attr_setaffinity_np()) cpugruppe spezifiziert eine CPU, die außerhalb der vom Kernel unterstützten Gruppe war. (Die Kernel-Konfigurationsoption CONFIG_NR_CPUS definiert den Bereich der Gruppe, die vom Kernel-Datentyp, der zur Darstellung von CPU-Gruppen verwandt wird, unterstützt wird.)

EINVAL
    (pthread_attr_getaffinity_np()) Eine CPU in der Affinitätsmaske des Thread-Attributobjekts, auf das sich attr bezieht, liegt außerhalb des durch cpugruppengröße festgelegten Bereichs (d.h. cpugruppe/cpugruppengröße ist zu klein).

ENOMEM
    (pthread_attr_setaffinity_np()) Speicher konnte nicht reserviert werden.

ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert
pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np() | Multithread-Fähigkeit | MT-Sicher

STANDARDS
GNU; daher die Endung »_np« (nicht portierbar) im Namen.

GESCHICHTE
Glibc 2.3.4.

ANMERKUNGEN
Nur in Glibc 2.3.3 wurden Versionen dieser Funktionen bereitgestellt, die kein Argument cpusetsize hatten. Stattdessen war die an zugrundeliegende Systemaufrufe übergebene CPU-Menge immer sizeof(cpu_set_t).

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

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.