加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 01:54:00 所属栏目:Linux 来源:网络整理
导读:如何在内核模块中设置进程的CPU亲和性?在用户模式下有一个系统调用sched_setaffinity,但我正在寻找等效的内核模式. 在Linux内核代码中,还有一个名为sched_setaffinity的函数.它是从sys_sched_setaffinity函数调用的,该函数由system_call调用.从它看来,这是
如何在内核模块中设置进程的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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读