summaryrefslogtreecommitdiffstats
path: root/man3/pthread_setaffinity_np.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/pthread_setaffinity_np.3')
-rw-r--r--man3/pthread_setaffinity_np.3207
1 files changed, 0 insertions, 207 deletions
diff --git a/man3/pthread_setaffinity_np.3 b/man3/pthread_setaffinity_np.3
deleted file mode 100644
index 4e7147321..000000000
--- a/man3/pthread_setaffinity_np.3
+++ /dev/null
@@ -1,207 +0,0 @@
-'\" t
-.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
-.\" <mtk.manpages@gmail.com>
-.\"
-.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.\"
-.TH pthread_setaffinity_np 3 (date) "Linux man-pages (unreleased)"
-.SH NAME
-pthread_setaffinity_np, pthread_getaffinity_np \- set/get
-CPU affinity of a thread
-.SH LIBRARY
-POSIX threads library
-.RI ( libpthread ", " \-lpthread )
-.SH SYNOPSIS
-.nf
-.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.B #include <pthread.h>
-.P
-.BI "int pthread_setaffinity_np(pthread_t " thread ", size_t " cpusetsize ,
-.BI " const cpu_set_t *" cpuset );
-.BI "int pthread_getaffinity_np(pthread_t " thread ", size_t " cpusetsize ,
-.BI " cpu_set_t *" cpuset );
-.fi
-.SH DESCRIPTION
-The
-.BR pthread_setaffinity_np ()
-function
-sets the CPU affinity mask of the thread
-.I thread
-to the CPU set pointed to by
-.IR cpuset .
-If the call is successful,
-and the thread is not currently running on one of the CPUs in
-.IR cpuset ,
-then it is migrated to one of those CPUs.
-.P
-The
-.BR pthread_getaffinity_np ()
-function returns the CPU affinity mask of the thread
-.I thread
-in the buffer pointed to by
-.IR cpuset .
-.P
-For more details on CPU affinity masks, see
-.BR sched_setaffinity (2).
-For a description of a set of macros
-that can be used to manipulate and inspect CPU sets, see
-.BR CPU_SET (3).
-.P
-The argument
-.I cpusetsize
-is the length (in bytes) of the buffer pointed to by
-.IR cpuset .
-Typically, this argument would be specified as
-.IR sizeof(cpu_set_t) .
-(It may be some other value, if using the macros described in
-.BR CPU_SET (3)
-for dynamically allocating a CPU set.)
-.SH RETURN VALUE
-On success, these functions return 0;
-on error, they return a nonzero error number.
-.SH ERRORS
-.TP
-.B EFAULT
-A supplied memory address was invalid.
-.TP
-.B EINVAL
-.RB ( pthread_setaffinity_np ())
-The affinity bit mask
-.I mask
-contains no processors that are currently physically on the system
-and permitted to the thread according to any restrictions that
-may be imposed by the "cpuset" mechanism described in
-.BR cpuset (7).
-.TP
-.B EINVAL
-.RB ( pthread_setaffinity_np ())
-.I cpuset
-specified a CPU that was outside the set supported by the kernel.
-(The kernel configuration option
-.B CONFIG_NR_CPUS
-defines the range of the set supported by the kernel data type
-.\" cpumask_t
-used to represent CPU sets.)
-.\" The raw sched_getaffinity() system call returns the size (in bytes)
-.\" of the cpumask_t type.
-.TP
-.B EINVAL
-.RB ( pthread_getaffinity_np ())
-.I cpusetsize
-is smaller than the size of the affinity mask used by the kernel.
-.TP
-.B ESRCH
-No thread with the ID
-.I thread
-could be found.
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.TS
-allbox;
-lbx lb lb
-l l l.
-Interface Attribute Value
-T{
-.na
-.nh
-.BR pthread_setaffinity_np (),
-.BR pthread_getaffinity_np ()
-T} Thread safety MT-Safe
-.TE
-.SH STANDARDS
-GNU;
-hence the suffix "_np" (nonportable) in the names.
-.SH HISTORY
-glibc 2.3.4.
-.P
-In glibc 2.3.3 only,
-versions of these functions were provided that did not have a
-.I cpusetsize
-argument.
-Instead the CPU set size given to the underlying system calls was always
-.IR sizeof(cpu_set_t) .
-.SH NOTES
-After a call to
-.BR pthread_setaffinity_np (),
-the set of CPUs on which the thread will actually run is
-the intersection of the set specified in the
-.I cpuset
-argument and the set of CPUs actually present on the system.
-The system may further restrict the set of CPUs on which the thread
-runs if the "cpuset" mechanism described in
-.BR cpuset (7)
-is being used.
-These restrictions on the actual set of CPUs on which the thread
-will run are silently imposed by the kernel.
-.P
-These functions are implemented on top of the
-.BR sched_setaffinity (2)
-and
-.BR sched_getaffinity (2)
-system calls.
-.P
-A new thread created by
-.BR pthread_create (3)
-inherits a copy of its creator's CPU affinity mask.
-.SH EXAMPLES
-In the following program, the main thread uses
-.BR pthread_setaffinity_np ()
-to set its CPU affinity mask to include CPUs 0 to 7
-(which may not all be available on the system),
-and then calls
-.BR pthread_getaffinity_np ()
-to check the resulting CPU affinity mask of the thread.
-.P
-.\" SRC BEGIN (pthread_setaffinity_np.c)
-.EX
-#define _GNU_SOURCE
-#include <err.h>
-#include <errno.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-\&
-int
-main(void)
-{
- int s;
- cpu_set_t cpuset;
- pthread_t thread;
-\&
- thread = pthread_self();
-\&
- /* Set affinity mask to include CPUs 0 to 7. */
-\&
- CPU_ZERO(&cpuset);
- for (size_t j = 0; j < 8; j++)
- CPU_SET(j, &cpuset);
-\&
- s = pthread_setaffinity_np(thread, sizeof(cpuset), &cpuset);
- if (s != 0)
- errc(EXIT_FAILURE, s, "pthread_setaffinity_np");
-\&
- /* Check the actual affinity mask assigned to the thread. */
-\&
- s = pthread_getaffinity_np(thread, sizeof(cpuset), &cpuset);
- if (s != 0)
- errc(EXIT_FAILURE, s, "pthread_getaffinity_np");
-\&
- printf("Set returned by pthread_getaffinity_np() contained:\en");
- for (size_t j = 0; j < CPU_SETSIZE; j++)
- if (CPU_ISSET(j, &cpuset))
- printf(" CPU %zu\en", j);
-\&
- exit(EXIT_SUCCESS);
-}
-.EE
-.\" SRC END
-.SH SEE ALSO
-.BR sched_setaffinity (2),
-.BR CPU_SET (3),
-.BR pthread_attr_setaffinity_np (3),
-.BR pthread_self (3),
-.BR sched_getcpu (3),
-.BR cpuset (7),
-.BR pthreads (7),
-.BR sched (7)