如何从Linux内核模式设置进程的亲和性?

如何在内核模块中设置进程的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);

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...