.\" -*- 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 "15 juillet 2023" "Pages du manuel de Linux 6.05.01" .SH NOM getcpu \- Déterminer le processeur et le nœud NUMA sur lesquels le thread appelant est en cours d'exécution .SH BIBLIOTHÈQUE Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP) .SH SYNOPSIS .nf \fB#define _GNU_SOURCE\fP /* Consultez feature_test_macros(7) */ \fB#include \fP .PP \fBint getcpu(unsigned int *_Nullable \fP\fIcpu\fP\fB, unsigned int *_Nullable \fP\fInode\fP\fB);\fP .fi .SH DESCRIPTION L'appel système \fBgetcpu\fP() identifie le processeur et le nœud sur lesquels le thread ou processus appelant est en cours d'exécution et écrit le résultat dans les entiers pointés par les arguments \fIcpu\fP et \fInode\fP. Le processeur est un petit entier unique identifiant une CPU. Le nœud est un petit entier unique identifiant un nœud NUMA. Si \fIcpu\fP ou \fInode\fP est NULL, rien n'est écrit dans leur pointeur respectif. .PP L'information placée dans \fIcpu\fP n'est garantie d'être exacte qu'au moment de l'appel\ : à moins que l'affinité CPU n'ait été définie avec \fBsched_setaffinity\fP(2), le noyau peut changer de processeur à tout moment. (Normalement, cela n'arrive pas car l'ordonnanceur essaie de minimiser les mouvements entre CPU et cache, mais c'est possible.) L'appelant doit être prêt à gérer la situation où les informations renvoyées dans \fIcpu\fP et \fInode\fP ne sont plus valables au retour de l'appel. .SH "VALEUR RENVOYÉE" S'il réussit, la valeur zéro est renvoyée. En cas d'erreur, il renvoie \fB\-1\fP et \fIerrno\fP est positionné pour indiquer l'erreur. .SH ERREURS .TP \fBEFAULT\fP Les arguments pointent en dehors de l'espace d'adressage du processus appelant. .SH STANDARDS Linux. .SH HISTORIQUE .\" Linux\ 2.6.19 (x86\-64 et i386), glibc\ 2.29. .SS "Différences entre bibliothèque C et noyau" L'appel système du noyau a un troisième argument\ : .PP .in +4n .nf \fBint getcpu(unsigned int *\fP\fIcpu\fP\fB, unsigned int *\fP\fInode\fP\fB,\fP\n" \fB struct getcpu_cache *\fP\fItcache\fP\fB);\fP .fi .in .PP L'argument \fItcache\fP est inutilisé depuis Linux 2.6.24 et (lorsqu'il est appelé directement avec l'appel système) devrait être indiqué comme valant NULL sauf si la portabilité vers Linux 2.6.23 ou antérieur est nécessaire. .PP .\" 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. Dans Linux 2.6.23 et antérieur, si le paramètre \fItcache\fP n'était pas NULL, il spécifiait un pointeur vers un tampon de l'appelant dans l'espace local de stockage du thread utilisé pour fournir un mécanisme de cache à \fBgetcpu\fP(). L'utilisation de ce cache pouvait accélérer les appels à \fBgetcpu\fP(), avec le faible risque que l'information renvoyée ne soit plus à jour. On a considéré que le mécanisme de cache entraînait des problèmes lors de la migration de threads entre processeurs, aussi, cet argument est aujourd'hui ignoré. .SH NOTES Linux fait de gros efforts pour rendre cet appel aussi rapide que possible (sur certaines architectures, il passe par une implémentation dans la \fBvdso\fP(7)). Le but de \fBgetcpu\fP() est de permettre aux programmes de réaliser des optimisations de données propres à chaque processeur et pour l'optimisation NUMA. .SH "VOIR AUSSI" \fBmbind\fP(2), \fBsched_setaffinity\fP(2), \fBset_mempolicy\fP(2), \fBsched_getcpu\fP(3), \fBcpuset\fP(7), \fBvdso\fP(7) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Jean-Philippe MENGUAL . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .