PR_SET_TIMERSLACK(2const)

NUME
PR_SET_TIMERSLACK - stabilește valoarea „curentă” a întârzierii temporizatorului pentru firul apelant

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <linux/prctl.h>  /* Definirea constantelor PR_* */
#include <sys/prctl.h>

int prctl(PR_SET_TIMERSLACK, unsigned long slack);

DESCRIERE
Fiecare fir de execuție are asociate două valori de întârziere a temporizatorului: o valoare „implicită” și o valoare „curentă”. Această operație stabilește valoarea „curentă” a timpului de întârziere pentru firul apelant. slack este o valoare fără semn de număr lung în intervalul [1L, ULONG_MAX]. Dacă valoarea în nanosecunde furnizată în slack este mai mare decât zero, atunci valoarea „curentă” este stabilită la această valoare. Dacă slack este 0L, întârzierea „curentă” a temporizatorului este readusă la valoarea „implicită” a întârzierii temporizatorului firului.

Întârzierea „curentă” a temporizatorului este utilizată de nucleu pentru a grupa expirările temporizatorului pentru firul apelant care sunt apropiate unele de altele; în consecință, expirările temporizatorului pentru fir pot avea o întârziere de până la numărul specificat de nanosecunde (dar nu vor expira niciodată mai devreme). Gruparea expirărilor temporizatorului poate contribui la reducerea consumului de energie al sistemului prin minimizarea trezirii CPU.

Expirările temporizatorului afectate de întârzierea temporizatorului sunt cele stabilite de select(2), pselect(2), poll(2), ppoll(2), epoll_wait(2), epoll_pwait(2), clock_nanosleep(2), nanosleep(2), și futex(2) (și astfel funcțiile de bibliotecă implementate prin futex-uri, inclusiv pthread_cond_timedwait(3), pthread_mutex_timedlock(3), pthread_rwlock_timedrdlock(3), pthread_rwlock_timedwrlock(3), și sem_timedwait(3)).

Întârzierea temporizatorului nu se aplică firelor care sunt programate în conformitate cu o politică de planificare în timp real (a se vedea sched_setscheduler(2)).n

Atunci când se creează un nou fir de discuție, cele două valori ale temporizatorului sunt egale cu valoarea „curentă” a firului de discuție care se creează. Ulterior, un fir de discuție își poate ajusta valoarea „curentă” a întârzierii temporizatorului prin PR_SET_TIMERSLACK. Valoarea „implicită” nu poate fi modificată. Valorile de întârziere a temporizatorului init (PID 1), strămoșul tuturor proceselor, sunt de 50 000 nanosecunde (50 microsecunde). Valoarea de întârziere a temporizatorului este moștenită de un copil creat prin fork(2) și este păstrată în execve(2).

VALOAREA RETURNATĂ
În caz de succes, se returnează 0. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

FIȘIERE

/proc/pid/timerslack_ns
    Începând cu Linux 4.6, valoarea „curentă” a întârzierii temporizatorului oricărui proces poate fi examinată și modificată prin intermediul acestui fișier.

STANDARDE
Linux.

ISTORIC
Linux 2.6.28.

CONSULTAȚI ȘI
prctl(2), PR_GET_TIMERSLACK(2const), proc_pid_timerslack_ns(5)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută 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.