Привязка ЦП после клонирования процессаLinux

Ответить
Anonymous
 Привязка ЦП после клонирования процесса

Сообщение Anonymous »

Я клонирую процесс с помощью функции-оболочки glibc clone().
По некоторым несвязанным причинам мне нужно установить бит флага CLONE_THREAD в положение ON. Это означает, что

Если установлен CLONE_THREAD, дочерний процесс помещается в ту же группу потоков, что и вызывающий процесс. [...]

Теперь для каждого процесса (родительского и дочернего) мне нужно установить соответствие ядра ЦП на основе некоторой логики.
/>Однако вызов sched_setaffinity(gettid(), ...), похоже, не работает в дочернем процессе.
Меня озадачивает то, что каждый дочерний процесс фактически запланировано на тот же идентификатор ядра ЦП, что и его родительский процесс, даже несмотря на то, что дочерний элемент вызывает sched_setaffinity после своего родителя. Или, лучше сказать, его родитель вызывает его до того, как он создаст дочерний элемент, поэтому, когда дочерний элемент вызывает его, создается впечатление, что вызов не имеет никакого эффекта.
В чем проблема?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ss-cloning
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»