当tid是内核线程时,来自sched_setaffinity()的错误调用

时间:2011-06-22 04:45:29

标签: linux linux-kernel scheduling fedora scheduled-tasks

我调用内核函数sched_setaffinity()来尝试用CPU锁定内核线程,但它总是失败,而errno 22则显示“Invalid argument”。该机器运行Fedora 15,内核版本为2.6.38。

如果传入非内核tid,则此调用成功。这是内核的限制,还是有一些可以使其工作的调整?

2 个答案:

答案 0 :(得分:1)

绑定到具有kthread_bind()的特定CPU的任何内核线程都不能更改其关联。但是,它应该可以用于其他内核线程。

答案 1 :(得分:0)

确保在设置之前将地图归零并将其传递给sched_setaffinity

CPU_ZERO(&mask);