linux - taskset 和 sched_setaffinity 之间的交互

标签 linux affinity

谁能告诉我如果我跑会发生什么

taskset -c 7 ./fred.x

但是在 fred.x 中,一个线程正在调用 sched_setaffinity 来绑定(bind)到核心 6?

该线程是否会获得任何 CPU 时间,还是会无限期地保持空闲状态?

最佳答案

taskset 本身会调用 sched_setaffinity(),然后调用 execve 来运行您的命令。所以这个问题归结为“如果我在同一个线程中两次调用 sched_setaffinity() 会发生什么?”答案是,第二个调用会覆盖第一个。

因此在您的特定示例中,调用 sched_setaffinity() 的线程确实会绑定(bind)到核心 6,并且它将是可运行的。

关于linux - taskset 和 sched_setaffinity 之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27895484/

相关文章:

linux - 尽管模块已卸载,为什么设备仍存在于/proc/devices中

linux - 一个线程获取信号量而另一个线程释放信号量的有效用例是什么?

Java 进程与线程的线程亲和性

multicore - 是否可以防止 child 继承 parent 的 CPU/核心亲缘关系?

linux-kernel - 可以使用 MSI-X 设备设置 IRQ 关联(Linux)吗?

linux : Setting process core affinity in assembly language(NASM)

c - Linux CPU 对所有系统进程的亲和性

linux - 在 DVD 上使用 kickstart 自动安装 CentOS 6.4 -minimal

linux - 在内核空间中执行时可以发生抢占吗?

linux - 如何在 Linux 内核模块中使用 seq_file?