Вносить ли изменения в cpumask с помощью sched_setaffinity () немедленно - PullRequest
4 голосов
/ 01 апреля 2010

Я пишу модуль ядра Linux, который должен закрепить два потока на двух разных процессорах. Я планирую использовать sched_setaffinity () после экспорта в ядро. Есть ли другие экспортируемые функции для того же?

Кроме того, если я установлю только 1 процессор в процессорной маске, поток будет перемещен в этот процессор с немедленным эффектом? Если нет, то как мне применить то же самое? Поможет ли это вызвать schedule () сразу после sched_setaffinity ()?

1 Ответ

2 голосов
/ 08 октября 2010

Справочная страница для sched_setaffinity говорит

Если процесс, указанный в pid, в настоящее время не выполняется ни на одном из процессоров, указанных в mask, то этот процесс переносится на один из процессоров, указанных в mask.

Я понимаю, что эта миграция происходит немедленно, до того, как будет возвращен вызов sched_setaffinity.

...