summaryrefslogtreecommitdiffstats
path: root/templates/man2/sched_setaffinity.2.pot
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /templates/man2/sched_setaffinity.2.pot
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'templates/man2/sched_setaffinity.2.pot')
-rw-r--r--templates/man2/sched_setaffinity.2.pot774
1 files changed, 774 insertions, 0 deletions
diff --git a/templates/man2/sched_setaffinity.2.pot b/templates/man2/sched_setaffinity.2.pot
new file mode 100644
index 00000000..df4ddb25
--- /dev/null
+++ b/templates/man2/sched_setaffinity.2.pot
@@ -0,0 +1,774 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-03-01 17:07+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "sched_setaffinity"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"sched_setaffinity, sched_getaffinity - set and get a thread's CPU affinity "
+"mask"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Standard C library (I<libc>, I<-lc>)"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
+"B<#include E<lt>sched.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<int sched_setaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
+"B< const cpu_set_t *>I<mask>B<);>\n"
+"B<int sched_getaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
+"B< cpu_set_t *>I<mask>B<);>\n"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A thread's CPU affinity mask determines the set of CPUs on which it is "
+"eligible to run. On a multiprocessor system, setting the CPU affinity mask "
+"can be used to obtain performance benefits. For example, by dedicating one "
+"CPU to a particular thread (i.e., setting the affinity mask of that thread "
+"to specify a single CPU, and setting the affinity mask of all other threads "
+"to exclude that CPU), it is possible to ensure maximum execution speed for "
+"that thread. Restricting a thread to run on a single CPU also avoids the "
+"performance cost caused by the cache invalidation that occurs when a thread "
+"ceases to execute on one CPU and then recommences execution on a different "
+"CPU."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A CPU affinity mask is represented by the I<cpu_set_t> structure, a \"CPU "
+"set\", pointed to by I<mask>. A set of macros for manipulating CPU sets is "
+"described in B<CPU_SET>(3)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<sched_setaffinity>() sets the CPU affinity mask of the thread whose ID is "
+"I<pid> to the value specified by I<mask>. If I<pid> is zero, then the "
+"calling thread is used. The argument I<cpusetsize> is the length (in bytes) "
+"of the data pointed to by I<mask>. Normally this argument would be "
+"specified as I<sizeof(cpu_set_t)>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the thread specified by I<pid> is not currently running on one of the "
+"CPUs specified in I<mask>, then that thread is migrated to one of the CPUs "
+"specified in I<mask>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<sched_getaffinity>() writes the affinity mask of the thread whose ID is "
+"I<pid> into the I<cpu_set_t> structure pointed to by I<mask>. The "
+"I<cpusetsize> argument specifies the size (in bytes) of I<mask>. If I<pid> "
+"is zero, then the mask of the calling thread is returned."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On success, B<sched_setaffinity>() and B<sched_getaffinity>() return 0 "
+"(but see \"C library/kernel differences\" below, which notes that the "
+"underlying B<sched_getaffinity>() differs in its return value). On "
+"failure, -1 is returned, and I<errno> is set to indicate the error."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EFAULT>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "A supplied memory address was invalid."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"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 I<cpuset> cgroups or the \"cpuset\" "
+"mechanism described in B<cpuset>(7)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(B<sched_getaffinity>() and, before Linux 2.6.9, B<sched_setaffinity>()) "
+"I<cpusetsize> is smaller than the size of the affinity mask used by the "
+"kernel."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPERM>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(B<sched_setaffinity>()) The calling thread does not have appropriate "
+"privileges. The caller needs an effective user ID equal to the real user ID "
+"or effective user ID of the thread identified by I<pid>, or it must possess "
+"the B<CAP_SYS_NICE> capability in the user namespace of the thread I<pid>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ESRCH>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The thread whose ID is I<pid> could not be found."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Linux."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Linux 2.5.8, glibc 2.3."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Initially, the glibc interfaces included a I<cpusetsize> argument, typed as "
+"I<unsigned int>. In glibc 2.3.3, the I<cpusetsize> argument was removed, "
+"but was then restored in glibc 2.3.4, with type I<size_t>."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"After a call to B<sched_setaffinity>(), the set of CPUs on which the thread "
+"will actually run is the intersection of the set specified in the I<mask> "
+"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 B<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."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"There are various ways of determining the number of CPUs available on the "
+"system, including: inspecting the contents of I</proc/cpuinfo>; using "
+"B<sysconf>(3) to obtain the values of the B<_SC_NPROCESSORS_CONF> and "
+"B<_SC_NPROCESSORS_ONLN> parameters; and inspecting the list of CPU "
+"directories under I</sys/devices/system/cpu/>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<sched>(7) has a description of the Linux scheduling scheme."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The affinity mask is a per-thread attribute that can be adjusted "
+"independently for each of the threads in a thread group. The value returned "
+"from a call to B<gettid>(2) can be passed in the argument I<pid>. "
+"Specifying I<pid> as 0 will set the attribute for the calling thread, and "
+"passing the value returned from a call to B<getpid>(2) will set the "
+"attribute for the main thread of the thread group. (If you are using the "
+"POSIX threads API, then use B<pthread_setaffinity_np>(3) instead of "
+"B<sched_setaffinity>().)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<isolcpus> boot option can be used to isolate one or more CPUs at boot "
+"time, so that no processes are scheduled onto those CPUs. Following the use "
+"of this boot option, the only way to schedule processes onto the isolated "
+"CPUs is via B<sched_setaffinity>() or the B<cpuset>(7) mechanism. For "
+"further information, see the kernel source file I<Documentation/admin-guide/"
+"kernel-parameters.txt>. As noted in that file, I<isolcpus> is the preferred "
+"mechanism of isolating CPUs (versus the alternative of manually setting the "
+"CPU affinity of all processes on the system)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A child created via B<fork>(2) inherits its parent's CPU affinity mask. "
+"The affinity mask is preserved across an B<execve>(2)."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "C library/kernel differences"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This manual page describes the glibc interface for the CPU affinity calls. "
+"The actual system call interface is slightly different, with the I<mask> "
+"being typed as I<unsigned long\\ *>, reflecting the fact that the underlying "
+"implementation of CPU sets is a simple bit mask."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On success, the raw B<sched_getaffinity>() system call returns the number "
+"of bytes placed copied into the I<mask> buffer; this will be the minimum of "
+"I<cpusetsize> and the size (in bytes) of the I<cpumask_t> data type that is "
+"used internally by the kernel to represent the CPU set bit mask."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Handling systems with large CPU affinity masks"
+msgstr ""
+
+#. FIXME . See https://sourceware.org/bugzilla/show_bug.cgi?id=15630
+#. and https://sourceware.org/ml/libc-alpha/2013-07/msg00288.html
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The underlying system calls (which represent CPU masks as bit masks of type "
+"I<unsigned long\\ *>) impose no restriction on the size of the CPU mask. "
+"However, the I<cpu_set_t> data type used by glibc has a fixed size of 128 "
+"bytes, meaning that the maximum CPU number that can be represented is 1023. "
+"If the kernel CPU affinity mask is larger than 1024, then calls of the form:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "sched_getaffinity(pid, sizeof(cpu_set_t), &mask);\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"fail with the error B<EINVAL>, the error produced by the underlying system "
+"call for the case where the I<mask> size specified in I<cpusetsize> is "
+"smaller than the size of the affinity mask used by the kernel. (Depending "
+"on the system CPU topology, the kernel affinity mask can be substantially "
+"larger than the number of active CPUs in the system.)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When working on systems with large kernel CPU affinity masks, one must "
+"dynamically allocate the I<mask> argument (see B<CPU_ALLOC>(3)). Currently, "
+"the only way to do this is by probing for the size of the required mask "
+"using B<sched_getaffinity>() calls with increasing mask sizes (until the "
+"call does not fail with the error B<EINVAL>)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Be aware that B<CPU_ALLOC>(3) may allocate a slightly larger CPU set than "
+"requested (because CPU sets are implemented as bit masks allocated in units "
+"of I<sizeof(long)>). Consequently, B<sched_getaffinity>() can set bits "
+"beyond the requested allocation size, because the kernel sees a few "
+"additional bits. Therefore, the caller should iterate over the bits in the "
+"returned set, counting those which are set, and stop upon reaching the value "
+"returned by B<CPU_COUNT>(3) (rather than iterating over the number of bits "
+"requested to be allocated)."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The program below creates a child process. The parent and child then each "
+"assign themselves to a specified CPU and execute identical loops that "
+"consume some CPU time. Before terminating, the parent waits for the child "
+"to complete. The program takes three command-line arguments: the CPU number "
+"for the parent, the CPU number for the child, and the number of loop "
+"iterations that both processes should perform."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"As the sample runs below demonstrate, the amount of real and CPU time "
+"consumed when running the program will depend on intra-core caching effects "
+"and whether the processes are using the same CPU."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"We first employ B<lscpu>(1) to determine that this (x86) system has two "
+"cores, each with two CPUs:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"$ B<lscpu | egrep -i \\[aq]core.*:|socket\\[aq]>\n"
+"Thread(s) per core: 2\n"
+"Core(s) per socket: 2\n"
+"Socket(s): 1\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"We then time the operation of the example program for three cases: both "
+"processes running on the same CPU; both processes running on different CPUs "
+"on the same core; and both processes running on different CPUs on different "
+"cores."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"$ B<time -p ./a.out 0 0 100000000>\n"
+"real 14.75\n"
+"user 3.02\n"
+"sys 11.73\n"
+"$ B<time -p ./a.out 0 1 100000000>\n"
+"real 11.52\n"
+"user 3.98\n"
+"sys 19.06\n"
+"$ B<time -p ./a.out 0 3 100000000>\n"
+"real 7.89\n"
+"user 3.29\n"
+"sys 12.07\n"
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Program source"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>err.hE<gt>\n"
+"#include E<lt>sched.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/wait.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int parentCPU, childCPU;\n"
+" cpu_set_t set;\n"
+" unsigned int nloops;\n"
+"\\&\n"
+" if (argc != 4) {\n"
+" fprintf(stderr, \"Usage: %s parent-cpu child-cpu num-loops\\en\",\n"
+" argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" parentCPU = atoi(argv[1]);\n"
+" childCPU = atoi(argv[2]);\n"
+" nloops = atoi(argv[3]);\n"
+"\\&\n"
+" CPU_ZERO(&set);\n"
+"\\&\n"
+" switch (fork()) {\n"
+" case -1: /* Error */\n"
+" err(EXIT_FAILURE, \"fork\");\n"
+"\\&\n"
+" case 0: /* Child */\n"
+" CPU_SET(childCPU, &set);\n"
+"\\&\n"
+" if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n"
+" err(EXIT_FAILURE, \"sched_setaffinity\");\n"
+"\\&\n"
+" for (unsigned int j = 0; j E<lt> nloops; j++)\n"
+" getppid();\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"\\&\n"
+" default: /* Parent */\n"
+" CPU_SET(parentCPU, &set);\n"
+"\\&\n"
+" if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n"
+" err(EXIT_FAILURE, \"sched_setaffinity\");\n"
+"\\&\n"
+" for (unsigned int j = 0; j E<lt> nloops; j++)\n"
+" getppid();\n"
+"\\&\n"
+" wait(NULL); /* Wait for child to terminate */\n"
+" exit(EXIT_SUCCESS);\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. SRC END
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<lscpu>(1), B<nproc>(1), B<taskset>(1), B<clone>(2), B<getcpu>(2), "
+"B<getpriority>(2), B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getscheduler>(2), "
+"B<sched_setscheduler>(2), B<setpriority>(2), B<CPU_SET>(3), "
+"B<get_nprocs>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), "
+"B<capabilities>(7), B<cpuset>(7), B<sched>(7), B<numactl>(8)"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr ""
+
+#. type: SH
+#: debian-bookworm
+#, no-wrap
+msgid "VERSIONS"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"The CPU affinity system calls were introduced in Linux kernel 2.5.8. The "
+"system call wrappers were introduced in glibc 2.3. Initially, the glibc "
+"interfaces included a I<cpusetsize> argument, typed as I<unsigned int>. In "
+"glibc 2.3.3, the I<cpusetsize> argument was removed, but was then restored "
+"in glibc 2.3.4, with type I<size_t>."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid "These system calls are Linux-specific."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>err.hE<gt>\n"
+"#include E<lt>sched.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/wait.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int parentCPU, childCPU;\n"
+" cpu_set_t set;\n"
+" unsigned int nloops;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (argc != 4) {\n"
+" fprintf(stderr, \"Usage: %s parent-cpu child-cpu num-loops\\en\",\n"
+" argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" parentCPU = atoi(argv[1]);\n"
+" childCPU = atoi(argv[2]);\n"
+" nloops = atoi(argv[3]);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " CPU_ZERO(&set);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" switch (fork()) {\n"
+" case -1: /* Error */\n"
+" err(EXIT_FAILURE, \"fork\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" case 0: /* Child */\n"
+" CPU_SET(childCPU, &set);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n"
+" err(EXIT_FAILURE, \"sched_setaffinity\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (unsigned int j = 0; j E<lt> nloops; j++)\n"
+" getppid();\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " exit(EXIT_SUCCESS);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" default: /* Parent */\n"
+" CPU_SET(parentCPU, &set);\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" wait(NULL); /* Wait for child to terminate */\n"
+" exit(EXIT_SUCCESS);\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-05-03"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr ""