|GETCPU(2)||Linux Programmer's Manual||GETCPU(2)|
NAMEgetcpu - determine CPU and NUMA node on which the calling thread is running
int getcpu(unsigned * cpu , unsigned * node , struct getcpu_cache * tcache );
DESCRIPTIONThe getcpu() system call identifies the processor and node on which the calling thread or process is currently running and writes them into the integers pointed to by the cpu and node arguments. The processor is a unique small integer identifying a CPU. The node is a unique small identifier identifying a NUMA node. When either cpu or node is NULL nothing is written to the respective pointer.
RETURN VALUEOn success, 0 is returned. On error, -1 is returned, and errno is set appropriately.
- Arguments point outside the calling process's address space.
VERSIONSgetcpu() was added in kernel 2.6.19 for x86_64 and i386.
CONFORMING TOgetcpu() is Linux specific.
NOTESLinux makes a best effort to make this call as fast possible. The intention of getcpu() is to allow programs to make optimizations with per-CPU data or for NUMA optimization.
SEE ALSOmbind(2), sched_setaffinity(2), set_mempolicy(2), sched_getcpu(3), cpuset(7)
COLOPHONThis page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.