1

我对在多核系统(Linux 2.6)上设置 cpu 亲和力和调度的顺序有一些疑问

假设(假设情况)我有一个进程,并且我已将其设置为与 core1 的亲和性,并在两者之间暂停该进程(进入睡眠模式),当它被暂停时,我将此进程的 CPU 亲和性更改为 core2。现在这个进程会先在 core1 上运行,然后在唤醒时转移到 core2,还是会在后台直接转移到 core2?

类似的东西:(如果可以以某种方式完成)我在任务结构中创建了一个新条目,但从一开始就将这个新进程置于睡眠模式。当处于睡眠模式时,该进程是否根据其设置的亲和力分配给某个核心?或者,该进程仅在它开始运行时才被分配给某个核心(根据其亲和性)(然后同时当该进程在开始时处于休眠状态时,该进程被保留在哪个核心的睡眠队列中)?

我认为每个核心都有自己的调度程序副本并维护自己的就绪队列(SMP处理器),那么哪个进程在核心之间迁移进程?

(在某些方面我可能是错的,可能是我假设了很多,但感谢分享你的知识)

谢谢

4

0 回答 0