我调用内核函数sched_setaffinity()来尝试用CPU锁定内核线程,但它总是失败,而errno 22则显示“Invalid argument”。该机器运行Fedora 15,内核版本为2.6.38。
如果传入非内核tid,则此调用成功。这是内核的限制,还是有一些可以使其工作的调整?
答案 0 :(得分:1)
绑定到具有kthread_bind()
的特定CPU的任何内核线程都不能更改其关联。但是,它应该可以用于其他内核线程。
答案 1 :(得分:0)
确保在设置之前将地图归零并将其传递给sched_setaffinity
。
CPU_ZERO(&mask);