PR_SET_TIMERSLACK(2const)

BEZEICHNUNG
PR_SET_TIMERSLACK - Setzt den »aktuellen« Timer-Spielraumwert für den aufrufenden Thread

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <linux/prctl.h>  /* Definition der PR_*-Konstanten */
#include <sys/prctl.h>

int prctl(PR_SET_TIMERSLACK, unsigned long Spielraum);

BESCHREIBUNG
Jeder Thread hat zwei zugeordnete Timer-Spielraumwerte: einen »Vorgabe«-Wert und einen »aktuellen« Wert. Diese Aktion setzt den »aktuellen« Timer-Spielraumwert für den aufrufenden Thread. Spielraum ist ein vorzeichenfreier Long-Wert im Bereich [1L, ULONG_MAX]. Falls der in Spielraum bereitgestellte Nanosekundenwert größer als Null ist, dann wird der »aktuelle« Wert auf diesen Wert gesetzt. Falls Spielraum 0L ist, dann wird der »aktuelle« Timer-Spielraum auf den »Vorgabe-«-Timer-Spielraumwert des Threads zurückgesetzt.

Der »aktuelle« Timer-Spielraum wird vom Kernel zum Gruppieren von Timer-Abläufen für den aufrufenden Thread verwandt, die eng beieinander liegen. Im Ergebnis dürfen die Abläufe der Timer für den Thread bis zu der angegebenen Anzahl an Nanosekunden später liegen (werden aber niemals früher ablaufen). Das Gruppieren von Timer-Abläufen kann beim Reduzieren des Stromverbrauchs durch Minimierung des CPU-Aufwachens helfen.

Die Timer-Abläufe, die von den Timer-Spielräumen betroffen sind, sind die von select(2), pselect(2), poll(2), ppoll(2), epoll_wait(2), epoll_pwait(2), clock_nanosleep(2), nanosleep(2) und futex(2) (und daher die durch Bibliotheksfunktionen mittels Futex implementierten, einschließlich pthread_cond_timedwait(3), pthread_mutex_timedlock(3), pthread_rwlock_timedrdlock(3), pthread_rwlock_timedwrlock(3) und sem_timedwait(3)) gesetzten.

Timer-Spielräume werden nicht auf Threads angewandt, die unter einer Echtzeit-Scheduling-Richtlinie eingeplant sind (mehr dazu in sched_setscheduler(2)).

Wenn ein neuer Thread erstellt wird, werden die zwei Timer-Spielraumwerte auf den »aktuellen« Wert des erstellenden Threads gesetzt. Anschließend kann ein Thread seinen »aktuellen« Timer-Spielraumwert mittels PR_SET_TIMERSLACK anpassen. Der »Vorgabe«-Wert kann nicht geändert werden. Der Timer-Spielraumwert von init(1) (PID 1), dem Vorgänger aller Prozesse, ist 50.000 Nanosekunden (50 Mikrosekunden). Der Timer-Spielraumwert wird von einem Kindprozess mittels fork(2) geerbt und über execve(2) hinweg erhalten.

RÜCKGABEWERT
Bei Erfolg wird 0 zurückgegeben. Bei einem Fehler wird -1 zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.

STANDARDS
Linux.

GESCHICHTE
Linux 2.6.28.

SIEHE AUCH
prctl(2), PR_GET_TIMERSLACK(2const), proc_pid_timerslack_ns(5)

Ü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.