.\" -*- coding: UTF-8 -*- .\" SPDX-License-Identifier: Linux-man-pages-1-para .\" .\" This man page is Copyright (C) 2006 Andi Kleen . .\" .\" 2008, mtk, various edits .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getcpu 2 "31 octombrie 2023" "Pagini de manual de Linux 6.06" .SH NUME getcpu \- determină CPU\-ul și nodul NUMA pe care rulează firul apelant .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#define _GNU_SOURCE\fP /* Consultați feature_test_macros(7) */ \fB#include \fP .P \fBint getcpu(unsigned int *_Nullable \fP\fIcpu\fP\fB, unsigned int *_Nullable \fP\fInode\fP\fB);\fP .fi .SH DESCRIERE Apelul de sistem \fBgetcpu\fP() identifică procesorul și nodul pe care se execută în prezent firul sau procesul apelant și le scrie în numerele întregi indicate de argumentele \fIcpu\fP și \fInod\fP. Procesorul este un număr întreg mic și unic care identifică un procesor. Nodul este un identificator mic unic care identifică un nod NUMA. Atunci când \fIcpu\fP sau \fInod\fP este NULL, nu se scrie nimic în indicatorul respectiv. .P Informațiile plasate în \fIcpu\fP sunt garantate a fi actuale doar în momentul apelului: dacă afinitatea procesorului nu a fost fixată folosind \fBsched_setaffinity\fP(2), nucleul poate schimba procesorul în orice moment; (în mod normal, acest lucru nu se întâmplă, deoarece planificatorul încearcă să minimizeze mișcările între CPU\-uri pentru a menține memoria cache în funcțiune, dar este posibil). Apelantul trebuie să ia în considerare posibilitatea ca informațiile returnate în \fIcpu\fP și \fInode\fP să nu mai fie actuale în momentul în care apelul returnează. .SH "VALOAREA RETURNATĂ" În caz de succes, se returnează 0. În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEFAULT\fP Argumentele indică în afara spațiului de adrese al procesului apelant. .SH STANDARDE Linux. .SH ISTORIC .\" Linux 2.6.19 (x86\-64 și i386), glibc 2.29. .SS "Diferențe între biblioteca C și nucleu" Apelul de sistem al nucleului are un al treilea argument: .P .in +4n .nf \fBint getcpu(unsigned int *\fP\fIcpu\fP\fB, unsigned int *\fP\fInode\fP\fB,\fP \fB struct getcpu_cache *\fP\fItcache\fP\fB);\fP .fi .in .P Argumentul \fItcache\fP este nefolosit începând cu Linux 2.6.24 și (atunci când se invocă direct apelul de sistem) ar trebui să fie specificat ca NULL, cu excepția cazului în care este necesară portabilitatea la Linux 2.6.23 sau la o versiune anterioară. .P .\" commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1 .\" Author: Ingo Molnar .\" Date: Wed Nov 7 18:37:48 2007 +0100 .\" x86: ignore the sys_getcpu() tcache parameter .\" .\" ===== Before Linux 2.6.24: ===== .\" .I tcache .\" is a pointer to a .\" .IR "struct getcpu_cache" .\" that is used as a cache by .\" .BR getcpu (). .\" The caller should put the cache into a thread-local variable .\" if the process is multithreaded, .\" because the cache cannot be shared between different threads. .\" .I tcache .\" can be NULL. .\" If it is not NULL .\" .BR getcpu () .\" will use it to speed up operation. .\" The information inside the cache is private to the system call .\" and should not be accessed by the user program. .\" The information placed in the cache can change between Linux releases. .\" .\" When no cache is specified .\" .BR getcpu () .\" will be slower, .\" but always retrieve the current CPU and node information. .\" With a cache .\" .BR getcpu () .\" is faster. .\" However, the cached information is updated only once per jiffy (see .\" .BR time (7)). .\" This means that the information could theoretically be out of date, .\" although in practice the scheduler's attempt to maintain .\" soft CPU affinity means that the information is unlikely to change .\" over the course of the caching interval. În Linux 2.6.23 și versiunile anterioare, dacă argumentul \fItcache\fP nu era NULL, atunci acesta specifica un indicator către o memorie tampon alocată de apelant în memoria locală a firului de execuție care era utilizată pentru a furniza un mecanism de stocare în cache pentru \fBgetcpu\fP(). Utilizarea cache\-ului putea accelera apelurile \fBgetcpu\fP(), cu prețul că exista o șansă foarte mică ca informațiile returnate să nu mai fie actualizate. S\-a considerat că mecanismul de stocare în cache ar putea cauza probleme la migrarea firelor de execuție între CPU\-uri, astfel că argumentul este acum ignorat. .SH NOTE Linux depune toate eforturile pentru a efectua acest apel cât mai repede posibil; (pe unele arhitecturi, acest lucru se face prin intermediul unei implementări în \fBvdso\fP(7)). Intenția lui \fBgetcpu\fP() este de a permite programelor să facă optimizări cu date per\-CPU sau pentru optimizarea NUMA. .SH "CONSULTAȚI ȘI" \fBmbind\fP(2), \fBsched_setaffinity\fP(2), \fBset_mempolicy\fP(2), \fBsched_getcpu\fP(3), \fBcpuset\fP(7), \fBvdso\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .