From fc22b3d6507c6745911b9dfcc68f1e665ae13dbc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 21:43:11 +0200 Subject: Adding upstream version 4.22.0. Signed-off-by: Daniel Baumann --- po/ru/man2/sched_setaffinity.2.po | 998 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 998 insertions(+) create mode 100644 po/ru/man2/sched_setaffinity.2.po (limited to 'po/ru/man2/sched_setaffinity.2.po') diff --git a/po/ru/man2/sched_setaffinity.2.po b/po/ru/man2/sched_setaffinity.2.po new file mode 100644 index 00000000..dcbc72f2 --- /dev/null +++ b/po/ru/man2/sched_setaffinity.2.po @@ -0,0 +1,998 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Alexander Golubev , 2018. +# Azamat Hackimov , 2011, 2014-2016. +# Hotellook, 2014. +# Nikita , 2014. +# Spiros Georgaras , 2016. +# Vladislav , 2015. +# Yuri Kozlov , 2011-2019. +# Иван Павлов , 2017. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:07+0100\n" +"PO-Revision-Date: 2019-10-15 18:55+0300\n" +"Last-Translator: Yuri Kozlov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\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 "sched_setaffinity" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "31 октября 2023 г." + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 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 "ИМЯ" + +#. 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 "" +"sched_setaffinity, sched_getaffinity - устанавливает и получает процессорную " +"маску увязывания для нити" + +#. 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, 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 Esched.hE>\n" +msgstr "" +"B<#define _GNU_SOURCE> /* Смотрите feature_test_macros(7) */\n" +"B<#include Esched.hE>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"BIB<, size_t >IB<,>\n" +"B< const cpu_set_t *>IB<);>\n" +"BIB<, size_t >IB<,>\n" +"B< cpu_set_t *>IB<);>\n" +msgstr "" +"BIB<, size_t >IB<,>\n" +"B< const cpu_set_t *>IB<);>\n" +"BIB<, size_t >IB<,>\n" +"B< cpu_set_t *>IB<);>\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 "ОПИСАНИЕ" + +#. 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 structure, a \"CPU " +"set\", pointed to by I. A set of macros for manipulating CPU sets is " +"described in B(3)." +msgstr "" +"Маска увязывания ЦП представляется в виде структуры I, «набором " +"процессоров», на которую указывает I. В B(3) описаны макросы " +"для изменения набора ЦП." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B() sets the CPU affinity mask of the thread whose ID is " +"I to the value specified by I. If I is zero, then the " +"calling thread is used. The argument I is the length (in bytes) " +"of the data pointed to by I. Normally this argument would be " +"specified as I." +msgstr "" +"Вызов B() устанавливает маску увязывания ЦП I для " +"нити, чей ID указан в I. Если значение I равно нулю, то " +"используется вызывающая нить. В аргументе I задаётся количество " +"данных (в байтах), на которые указывает I. Обычно его значение " +"указывается как I." + +#. 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 is not currently running on one of the " +"CPUs specified in I, then that thread is migrated to one of the CPUs " +"specified in I." +msgstr "" +"Если нить, указанная в I, в данный момент не выполняется на одном из " +"ЦП, заданном в I, то эта нить переносится на один из процессоров, " +"назначаемых I." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B() writes the affinity mask of the thread whose ID is " +"I into the I structure pointed to by I. The " +"I argument specifies the size (in bytes) of I. If I " +"is zero, then the mask of the calling thread is returned." +msgstr "" +"Вызов B() записывает в структуру I, на которую " +"указывает I, значение маски увязывания ЦП для нити, чей ID указан в " +"I. В аргументе I задаётся размер I (в байтах). Если " +"значение I равно нулю, то возвращается маска вызывающей нити." + +#. 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 +#, fuzzy +#| msgid "" +#| "On success, B() and B() return 0 " +#| "(but see \"C library/kernel differences\" below, which notes that the " +#| "underlying B() differs in its return value). On " +#| "error, -1 is returned, and I is set appropriately." +msgid "" +"On success, B() and B() return 0 " +"(but see \"C library/kernel differences\" below, which notes that the " +"underlying B() differs in its return value). On " +"failure, -1 is returned, and I is set to indicate the error." +msgstr "" +"При успешном выполнении B() и B() " +"возвращается 0 (но смотрите «различия в библиотеке C/ядре» ниже, где " +"показано при каких условиях B() возвращает разные " +"значения). При ошибке возвращается -1, и в I записывается " +"соответствующее значение." + +#. 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" +msgstr "B" + +#. 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" +msgstr "B" + +#. 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 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 cgroups or the \"cpuset\" " +"mechanism described in B(7)." +msgstr "" +"В маске увязывания ЦП I указаны процессоры, которых физически нет в " +"системе, и которые разрешены нити согласно любым ограничениям, которые могут " +"налагаться I cgroups или механизмом «cpuset», описанном в " +"B(7)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "(B() and, in kernels before 2.6.9, " +#| "B()) I is smaller than the size of the " +#| "affinity mask used by the kernel." +msgid "" +"(B() and, before Linux 2.6.9, B()) " +"I is smaller than the size of the affinity mask used by the " +"kernel." +msgstr "" +"(B() и, в ядрах до 2.6.9, B()) " +"Значение I меньше размера маски увязывания, используемой в ядре." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(B()) 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, or it must possess " +"the B capability in the user namespace of the thread I." +msgstr "" +"(B()) Вызывающая нить не имеет достаточно прав. " +"Вызывающему требуется иметь эффективный пользовательский ID равный реальному " +"пользовательскому ID или эффективному пользовательскому ID нити, указанной в " +"I, или он должен обладать мандатом B в пространстве имён " +"пользователя нити I." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B" +msgstr "B" + +#. 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 could not be found." +msgstr "Нить с идентификатором I не найдена." + +#. 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 "Linux." + +#. 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 +#, fuzzy +#| 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 argument, typed as I. " +#| "In glibc 2.3.3, the I argument was removed, but was then " +#| "restored in glibc 2.3.4, with type I." +msgid "" +"Initially, the glibc interfaces included a I argument, typed as " +"I. In glibc 2.3.3, the I argument was removed, " +"but was then restored in glibc 2.3.4, with type I." +msgstr "" +"Системные вызовы увязывания ЦП появились в ядре Linux версии 2.5.8. " +"Обёрточные функции появились в glibc 2.3. Первоначально, в интерфейсе glibc " +"присутствовал аргумент I, имевший тип I. В glibc " +"2.3.3 аргумент I был удалён, но появился вновь в glibc 2.3.4 с " +"типом I." + +#. 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(), the set of CPUs on which the thread " +"will actually run is the intersection of the set specified in the I " +"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(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 "" +"После вызова B() набор процессоров, на которых " +"действительно будет выполняться нить, вычисляется пересечением набора из " +"аргумента I и набором процессоров, присутствующих в системе. В " +"дальнейшем, система может ограничить набор процессоров нити, если " +"задействован механизм «cpuset», описанный в B(7). Эти ограничения на " +"действительный набор процессоров, используемых для нити, без уведомления " +"налагаются ядром." + +#. 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; using " +"B(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." +msgstr "" +"Есть несколько способов определения количества процессоров в системе: по " +"содержимому I; с помощью B(3) получить значение " +"параметров B<_SC_NPROCESSORS_CONF> и B<_SC_NPROCESSORS_ONLN>; посчитать " +"количество подкаталогов cpu в I." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B(7) has a description of the Linux scheduling scheme." +msgstr "В B(7) приведено описание схемы планирования 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(2) can be passed in the argument I. " +"Specifying I as 0 will set the attribute for the calling thread, and " +"passing the value returned from a call to B(2) will set the " +"attribute for the main thread of the thread group. (If you are using the " +"POSIX threads API, then use B(3) instead of " +"B().)" +msgstr "" +"Маска увязывания является атрибутом нити, которая может изменяться " +"независимо для каждой нити в группе нитей. В аргументе I можно " +"передавать значение, возвращаемое вызовом B(2). При значении I " +"равным 0 будет установлен атрибут вызывающей нити, а при передаче значения, " +"возвращаемого вызовом B(2), устанавливается атрибут главной нити " +"группы нитей (при работе с программным интерфейсом POSIX используйте функцию " +"B(3) вместо B()). " + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I 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() or the B(7) mechanism. For " +"further information, see the kernel source file I. As noted in that file, I is the preferred " +"mechanism of isolating CPUs (versus the alternative of manually setting the " +"CPU affinity of all processes on the system)." +msgstr "" +"Параметр начальной загрузки I можно использовать для изоляции " +"одного и более ЦП во время загрузки, и ни один процесс не будет запланирован " +"к выполнению на этих ЦП. После использования этого параметра единственный " +"способ запланировать процессы на изолированных ЦП — использовать " +"B() или механизм B(7). Подробности смотрите в " +"файле исходного кода ядра I. Согласно тексту файла, I является предпочтительным " +"механизмом изоляции ЦП (по сравнению с ручным увязыванием ЦП всех процессов " +"в системе)." + +#. 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(2) inherits its parent's CPU affinity mask. " +"The affinity mask is preserved across an B(2)." +msgstr "" +"Потомок, создаваемый с помощью B(2), наследует маску увязывания ЦП. " +"Маска увязывания сохраняется при вызове B(2)." + +#. 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 "Отличия между библиотекой 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 " +"being typed as I, reflecting the fact that the underlying " +"implementation of CPU sets is a simple bit mask." +msgstr "" +"В данной справочной странице описан интерфейс glibc для вызовов увязывания " +"ЦП. Интерфейс реальных системных вызов чуть отличается: аргумент I " +"имеет тип I, отражая факт того, что используемая " +"реализация наборов ЦП представляет собой просто битовую маску." + +#. 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() system call returns the number " +"of bytes placed copied into the I buffer; this will be the minimum of " +"I and the size (in bytes) of the I data type that is " +"used internally by the kernel to represent the CPU set bit mask." +msgstr "" +"При успешном выполнении ядерный системный вызов B() " +"возвращает количество скопированных в буфер I байт; минимальным " +"значением будет I и размер (в байтах) типа данных I, " +"который используется в ядре для представления процессорной битовой маски." + +#. 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) impose no restriction on the size of the CPU mask. " +"However, the I 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 "" +"Лежащие в основе системные вызовы (которые представляют маски ЦП в виде " +"маски битов с типом I) не накладывают ограничений на " +"размер маски ЦП. Однако, тип данных I, используемый в glibc, " +"имеет постоянный размер 128 байт, то есть максимальный номер представляемых " +"ЦП равен 1023. Если ядерная маска увязывания ЦП больше 1024, то вызовы вида:" + +#. 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 "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, the error produced by the underlying system " +"call for the case where the I size specified in I 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 "" +"завершается ошибкой B; ошибка выдаётся подлежащим системным вызовом " +"в случае, когда размер I, указанный в I, меньше чем размер " +"маски увязывания используемой ядром (в зависимости от топологии ЦП системы, " +"ядерная маска увязывания может быть значительно больше, чем количество " +"активных ЦП в системе)." + +#. 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 argument (see B(3)). Currently, " +"the only way to do this is by probing for the size of the required mask " +"using B() calls with increasing mask sizes (until the " +"call does not fail with the error B)." +msgstr "" +"При работе в системах с ядерными масками увязывания ЦП большого размера, " +"место под аргумент I должно выделяться динамически (смотрите " +"B(3)). В настоящее время единственный способ сделать это — " +"определить размер требуемой маски с помощью вызовов B() с " +"увеличиваемым размером маски (пока вызов не перестанет выдавать ошибку " +"B)." + +#. 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(3) may allocate a slightly larger CPU set than " +"requested (because CPU sets are implemented as bit masks allocated in units " +"of I). Consequently, B() 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(3) (rather than iterating over the number of bits " +"requested to be allocated)." +msgstr "" +"Учтите, что B(3) может выделить несколько больший набор ЦП, чем " +"запрашивается (так как наборы ЦП реализованы как битовые маски, выделяемые в " +"объёмах I). Следовательно, B() может задать " +"биты за границами запрашиваемого выделяемого размера, так как ядро видит " +"несколько дополнительных бит. Поэтому вызывающий должен пройтись по всем " +"возвращённым битам, считая установленные и остановиться при достижении " +"значения, полученного от B(3) (а не останавливаться на количестве " +"запрошенных к выделению бит)." + +#. 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(1) to determine that this (x86) system has two " +"cores, each with two CPUs:" +msgstr "" +"Сначала запустим B(1) для определения, что эта система (x86) имеет по " +"два потока выполнения в двух ЦП:" + +#. 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\n" +#| "Thread(s) per core: 2\n" +#| "Core(s) per socket: 2\n" +#| "Socket(s): 1\n" +msgid "" +"$ B\n" +"Thread(s) per core: 2\n" +"Core(s) per socket: 2\n" +"Socket(s): 1\n" +msgstr "" +"$ B\n" +"Thread(s) per core: 2\n" +"Core(s) per socket: 2\n" +"Socket(s): 1\n" + +#. 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