summaryrefslogtreecommitdiffstats
path: root/man2/getcpu.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/getcpu.2')
-rw-r--r--man2/getcpu.2147
1 files changed, 0 insertions, 147 deletions
diff --git a/man2/getcpu.2 b/man2/getcpu.2
deleted file mode 100644
index 4525470..0000000
--- a/man2/getcpu.2
+++ /dev/null
@@ -1,147 +0,0 @@
-.\" SPDX-License-Identifier: Linux-man-pages-1-para
-.\"
-.\" This man page is Copyright (C) 2006 Andi Kleen <ak@muc.de>.
-.\"
-.\" 2008, mtk, various edits
-.\"
-.TH getcpu 2 2023-10-31 "Linux man-pages 6.7"
-.SH NAME
-getcpu \- determine CPU and NUMA node on which the calling thread is running
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.B #include <sched.h>
-.P
-.BI "int getcpu(unsigned int *_Nullable " cpu ", \
-unsigned int *_Nullable " node );
-.fi
-.SH DESCRIPTION
-The
-.BR 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
-.I cpu
-and
-.I 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
-.I cpu
-or
-.I node
-is NULL nothing is written to the respective pointer.
-.P
-The information placed in
-.I cpu
-is guaranteed to be current only at the time of the call:
-unless the CPU affinity has been fixed using
-.BR sched_setaffinity (2),
-the kernel might change the CPU at any time.
-(Normally this does not happen
-because the scheduler tries to minimize movements between CPUs to
-keep caches hot, but it is possible.)
-The caller must allow for the possibility that the information returned in
-.I cpu
-and
-.I node
-is no longer current by the time the call returns.
-.SH RETURN VALUE
-On success, 0 is returned.
-On error, \-1 is returned, and
-.I errno
-is set to indicate the error.
-.SH ERRORS
-.TP
-.B EFAULT
-Arguments point outside the calling process's address space.
-.SH STANDARDS
-Linux.
-.SH HISTORY
-Linux 2.6.19 (x86-64 and i386),
-glibc 2.29.
-.\"
-.SS C library/kernel differences
-The kernel system call has a third argument:
-.P
-.in +4n
-.nf
-.BI "int getcpu(unsigned int *" cpu ", unsigned int *" node ,
-.BI " struct getcpu_cache *" tcache );
-.fi
-.in
-.P
-The
-.I tcache
-argument is unused since Linux 2.6.24,
-and (when invoking the system call directly)
-should be specified as NULL,
-unless portability to Linux 2.6.23 or earlier is required.
-.P
-.\" commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1
-.\" Author: Ingo Molnar <mingo@elte.hu>
-.\" Date: Wed Nov 7 18:37:48 2007 +0100
-.\" x86: ignore the sys_getcpu() tcache parameter
-In Linux 2.6.23 and earlier, if the
-.I tcache
-argument was non-NULL,
-then it specified a pointer to a caller-allocated buffer in thread-local
-storage that was used to provide a caching mechanism for
-.BR getcpu ().
-Use of the cache could speed
-.BR getcpu ()
-calls, at the cost that there was a very small chance that
-the returned information would be out of date.
-The caching mechanism was considered to cause problems when
-migrating threads between CPUs, and so the argument is now ignored.
-.\"
-.\" ===== 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.
-.SH NOTES
-Linux makes a best effort to make this call as fast as possible.
-(On some architectures, this is done via an implementation in the
-.BR vdso (7).)
-The intention of
-.BR getcpu ()
-is to allow programs to make optimizations with per-CPU data
-or for NUMA optimization.
-.SH SEE ALSO
-.BR mbind (2),
-.BR sched_setaffinity (2),
-.BR set_mempolicy (2),
-.BR sched_getcpu (3),
-.BR cpuset (7),
-.BR vdso (7)