#include <linux/getcpu.h> int getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache);
Le troisième argument de cet appel système est aujourd'hui inutilisé.
L'information placée dans cpu n'est garantie d'être exacte qu'au moment de l'appel : à moins que l'affinité CPU n'ait été définie avec sched_setaffinity(2), le noyau peut changer de processeur à tout moment. (Normalement, cela n'arrive pas car l'ordonnaceur essaie de minimiser les mouvements entre CPU et cache, mais c'est possible.) L'appelant doit être prêt à gérer la situation où cpu et node ne sont plus les CPU et nœud actuels.
La glibc ne fournit pas de fonction autour de cet appel système ; utilisez syscall(2) pour l'appeler ; ou utilisez sched_getcpu(3) à la place.
L'argument tcache est inutilisé depuis la version 2.6.24 de Linux. Dans les noyaux antérieurs, si cet argument 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 à getcpu(). L'utilisation de ce cache pouvait accélérer les appels à getcpu(), 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é.
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 getcpu ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 17 juillet 2008