diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/es/man2/sched_setaffinity.2.po | |
parent | Initial commit. (diff) | |
download | manpages-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 'po/es/man2/sched_setaffinity.2.po')
-rw-r--r-- | po/es/man2/sched_setaffinity.2.po | 877 |
1 files changed, 877 insertions, 0 deletions
diff --git a/po/es/man2/sched_setaffinity.2.po b/po/es/man2/sched_setaffinity.2.po new file mode 100644 index 00000000..4a0c998c --- /dev/null +++ b/po/es/man2/sched_setaffinity.2.po @@ -0,0 +1,877 @@ +# Spanish translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Miguel Pérez Ibars <mpi79470@alu.um.es>, 2004. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:07+0100\n" +"PO-Revision-Date: 2004-07-05 19:53+0200\n" +"Last-Translator: Miguel Pérez Ibars <mpi79470@alu.um.es>\n" +"Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.04.1\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 "31 Octubre 2023" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Páginas de manual de Linux 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "NOMBRE" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "sched_setaffinity, sched_getaffinity - set and get a process's CPU " +#| "affinity mask" +msgid "" +"sched_setaffinity, sched_getaffinity - set and get a thread's CPU affinity " +"mask" +msgstr "" +"sched_setaffinity, sched_getaffinity - establece y obtiene la máscara de " +"afinidad de CPU de un proceso" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "BIBLIOTECA" + +#. 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 "Biblioteca Estándar C (I<libc>, I<-lc>)" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "SINOPSIS" + +#. 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 "" +"B<#define _GNU_SOURCE> /* Vea feature_test_macros(7) */\n" +"B<#include E<lt>sched.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, 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" +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 "" +"B<int sched_setaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n" +"B< const cpu_set_t *>I<mask>B<);>\n" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPCIÓN" + +#. 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 +#, fuzzy +#| msgid "" +#| "The function B<sched_getaffinity> writes into the pointer supplied by " +#| "I<mask> that is size I<len> the affinity mask of process I<pid>. If " +#| "I<pid> is zero, then the mask of the current process is returned." +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 "" +"La función B<sched_getaffinity> escribe en el puntero proporcionado en " +"I<mask>, cuyo tamaño es I<len>, la máscara de afinidad del proceso I<pid>. " +"Si I<pid> es cero, se devuelve la máscara del proceso en curso." + +#. 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 "VALOR DEVUELTO" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "On success, B<sched_setaffinity> and B<sched_getaffinity> both return 0. " +#| "On error, -1 is returned, and I<errno> is set appropriately." +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 "" +"En caso de éxito,, B<sched_setaffinity> y B<sched_getaffinity> devuelven 0. " +"En caso de error, se devuelve -1, y se modifica I<errno> con el valor " +"apropiado." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "ERRORES" + +#. 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 "B<EFAULT>" + +#. 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 "La dirección de memoria proporcionada no es válida." + +#. 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 "B<EINVAL>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The affinity bitmask I<mask> contains no processors that are physically " +#| "on the system or the length I<len> is smaller than the size of the " +#| "affinity mask used by the kernel." +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 "" +"La máscara de afinidad I<mask> no contiene procesadores que estén " +"físicamente en el sistema o la longitud I<len> es más pequeña que el tamaño " +"de la máscara de afinidad usada por el núcleo." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The affinity bitmask I<mask> contains no processors that are physically " +#| "on the system or the length I<len> is smaller than the size of the " +#| "affinity mask used by the kernel." +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 "" +"La máscara de afinidad I<mask> no contiene procesadores que estén " +"físicamente en el sistema o la longitud I<len> es más pequeña que el tamaño " +"de la máscara de afinidad usada por el núcleo." + +#. 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 "B<EPERM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The calling process does not have appropriate privileges. The process " +#| "calling B<sched_setaffinity> needs an effective uid equal to the euid or " +#| "uid of the process identified by I<pid>, or it posses the I<CAP_SYS_NICE> " +#| "capability." +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 "" +"El proceso invocador no tiene los privilegios apropiados. El proceso que " +"llama a B<sched_setaffinity> necesita que el identificador de usuario " +"efectivo sea igual al identificador de usuario real o efectivo del proceso " +"identificado por I<pid>, o poseer la capacidad I<CAP_SYS_NICE.>" + +#. 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 "B<ESRCH>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "The process whose ID is I<pid> could not be found." +msgid "The thread whose ID is I<pid> could not be found." +msgstr "No se puede encontrar un proceso con identificador I<pid>." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "ESTÁNDARES" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux." +msgstr "Linux." + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "HISTORIAL" + +#. 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 "NOTAS" + +#. 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 "" +"B<sched>(7) contiene una descripción del esquema de planificación de Linux." + +#. 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 "Diferencias núcleo / biblioteca C" + +#. 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 +#, fuzzy, no-wrap +#| msgid " sched_getaffinity(pid, sizeof(cpu_set_t), &mask);\n" +msgid "sched_getaffinity(pid, sizeof(cpu_set_t), &mask);\n" +msgstr " sched_getaffinity(pid, sizeof(cpu_set_t), &mask);\n" + +#. 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 "EJEMPLOS" + +#. 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 "Código fuente" + +#. 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 "VÉASE TAMBIÉN" + +#. 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 "" +"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)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "5 Febrero 2023" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Páginas de manual de Linux 6.03" + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "VERSIONS" +msgstr "VERSIONES" + +#. 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 "Estas llamadas de sistema son específicas de Linux." + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "#define _GNU_SOURCE\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>unistd.hE<gt>\n" +#| "#include E<lt>sys/wait.hE<gt>\n" +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 "" +"#define _GNU_SOURCE\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>unistd.hE<gt>\n" +"#include E<lt>sys/wait.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "int\n" +#| "main(int argc, char *argv[])\n" +#| "{\n" +#| " cpu_set_t set;\n" +#| " int parentCPU, childCPU;\n" +#| " int nloops, j;\n" +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int parentCPU, childCPU;\n" +" cpu_set_t set;\n" +" unsigned int nloops;\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" cpu_set_t set;\n" +" int parentCPU, childCPU;\n" +" int nloops, j;\n" + +#. 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 "" +" parentCPU = atoi(argv[1]);\n" +" childCPU = atoi(argv[2]);\n" +" nloops = atoi(argv[3]);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " CPU_ZERO(&set);\n" +msgstr " CPU_ZERO(&set);\n" + +#. 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 +#, fuzzy, no-wrap +#| msgid "" +#| " if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n" +#| " errExit(\"sched_setaffinity\");\n" +msgid "" +" if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n" +" err(EXIT_FAILURE, \"sched_setaffinity\");\n" +msgstr "" +" if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n" +" errExit(\"sched_setaffinity\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " for (j = 0; j E<lt> nloops; j++)\n" +#| " getppid();\n" +msgid "" +" for (unsigned int j = 0; j E<lt> nloops; j++)\n" +" getppid();\n" +msgstr "" +" for (j = 0; j E<lt> nloops; j++)\n" +" getppid();\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " exit(EXIT_SUCCESS);\n" +msgstr " exit(EXIT_SUCCESS);\n" + +#. 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 "3 Mayo 2023" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Páginas de manual de Linux 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "30 Marzo 2023" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |