ошибка вызова sched_setaffinity (), когда tid является потоком ядра - PullRequest
0 голосов
/ 22 июня 2011

Я вызываю функцию ядра sched_setaffinity (), чтобы попытаться заблокировать поток ядра процессором, но он всегда завершается ошибкой с ошибкой 22, которая говорит "Неверный аргумент".На машине установлена ​​Fedora 15 с ядром версии 2.6.38.

Этот вызов будет успешным, если передан tid, не относящийся к ядру. Это ограничение ядра или есть некоторые изменения, которые могут заставить его работать?

Ответы [ 2 ]

1 голос
/ 22 июня 2011

Любой поток ядра, связанный с конкретным процессором с kthread_bind(), не может изменить свою привязку. Это должно быть возможно для других потоков ядра, однако.

0 голосов
/ 30 мая 2012

Убедитесь, что вы обнулили карту перед ее установкой и передачей sched_setaffinity.

CPU_ZERO(&mask);
...