Mik*_* Mu 6 linux kernel kernel-module affinity linux-kernel
如何在内核模块中设置进程的CPU亲和性?在用户模式下有一个系统调用sched_setaffinity,但我正在寻找等效的内核模式.
在Linux内核代码中,还有一个名为的函数sched_setaffinity.它是从sys_sched_setaffinity被调用的函数调用的system_call.从它看来,这是我想要使用的功能.它与系统调用同名的事实让我有点不安.
但众所周知,最好的办法就是尝试一下.所以我做了,我的模块编译完毕.但是,当我尝试加载模块时,它会抱怨名称sched_setaffinity未定义.
sched_setaffinity不导出到模块。
如果修改/usr/src/linux/kernel/sched.c,可能会导致sched_setaffinity导出到模块。
long sched_setaffinity(pid_t pid, const struct cpumask *in_mask)
{
...
}
+EXPORT_SYMBOL_GPL(sched_setaffinity);
Run Code Online (Sandbox Code Playgroud)