Multithreading 是否立即使用sched_setaffinity()对cpumask进行更改
我正在编写一个linux内核模块,它需要在两个不同的CPU上固定两个线程。我计划在内核中导出sched_setaffinity()后使用它。是否有其他导出函数用于相同的功能Multithreading 是否立即使用sched_setaffinity()对cpumask进行更改,multithreading,linux-kernel,affinity,Multithreading,Linux Kernel,Affinity,我正在编写一个linux内核模块,它需要在两个不同的CPU上固定两个线程。我计划在内核中导出sched_setaffinity()后使用它。是否有其他导出函数用于相同的功能 另外,如果我在cpumask中只设置了1个CPU,线程会立即移动到该CPU吗?如果没有,我如何执行相同的操作?在sched_setaffinity()之后调用schedule()会有帮助吗?sched_setaffinity的手册页上说 如果pid指定的进程当前未在mask中指定的一个CPU上运行,则该进程将迁移到mask中
另外,如果我在cpumask中只设置了1个CPU,线程会立即移动到该CPU吗?如果没有,我如何执行相同的操作?在sched_setaffinity()之后调用schedule()会有帮助吗?sched_setaffinity的手册页上说 如果
pid
指定的进程当前未在mask
中指定的一个CPU上运行,则该进程将迁移到mask
中指定的一个CPU上
我的解释是,在调用sched_setaffinity
之前,此迁移立即发生。这有帮助吗?