6

如何在内核模块中设置进程的 CPU 亲和性?在用户模式下有一个 syscall sched_setaffinity,但我正在寻找内核模式等价物。

在 Linux 内核代码中,还有一个函数叫做sched_setaffinity. 它是从被调用的sys_sched_setaffinity函数中调用的system_call。从表面上看,这是我想要使用的功能。不过,它与系统调用同名的事实让我有点不安。

但众所周知,最好的办法就是尝试一下。所以我做了,我的模块编译了。但是,当我尝试加载模块时,它抱怨名称sched_setaffinity未定义。

4

1 回答 1

3

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);
于 2009-07-20T02:28:14.350 回答