任务集与 sched_setaffinity 之间的交互
Interaction between taskset and sched_setaffinity
谁能告诉我如果我 运行
会发生什么
taskset -c 7 ./fred.x
但是在 fred.x
内部有一个线程正在调用 sched_setaffinity
绑定到核心 6?
该线程会获得任何 cpu 时间,还是会无限期地保持空闲状态?
taskset
本身调用 sched_setaffinity()
然后 execve
到 运行 你的命令。所以这个问题归结为 "What happens if I call sched_setaffinity()
twice in the same thread?" 答案是,第二个调用覆盖了第一个。
因此在您的具体示例中,调用 sched_setaffinity()
的线程确实会绑定到核心 6,并且它将 运行nable。
谁能告诉我如果我 运行
会发生什么taskset -c 7 ./fred.x
但是在 fred.x
内部有一个线程正在调用 sched_setaffinity
绑定到核心 6?
该线程会获得任何 cpu 时间,还是会无限期地保持空闲状态?
taskset
本身调用 sched_setaffinity()
然后 execve
到 运行 你的命令。所以这个问题归结为 "What happens if I call sched_setaffinity()
twice in the same thread?" 答案是,第二个调用覆盖了第一个。
因此在您的具体示例中,调用 sched_setaffinity()
的线程确实会绑定到核心 6,并且它将 运行nable。