Linux kernel 在多核系统(Linux 2.6)上设置cpu相关性和调度的顺序

Linux kernel 在多核系统(Linux 2.6)上设置cpu相关性和调度的顺序,linux-kernel,operating-system,scheduling,Linux Kernel,Operating System,Scheduling,我对在多核系统(Linux 2.6)上设置cpu相关性和调度的顺序有一些疑问 假设(一个假设的情况)我有一个进程,并且我已经将它的关联性设置为core1,并且我将该进程挂起(置于睡眠模式),当它挂起时,我将该进程的CPU关联性更改为core2。现在,这个过程是先在core1上运行,然后在唤醒时转移到core2,还是在后台直接转移到core2 类似的情况如下:(如果这可以通过某种方式实现) 我在任务结构中创建了一个新条目,但从一开始就将这个新进程置于睡眠模式。当某个内核处于睡眠模式时,该进程是否根

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

假设(一个假设的情况)我有一个进程,并且我已经将它的关联性设置为core1,并且我将该进程挂起(置于睡眠模式),当它挂起时,我将该进程的CPU关联性更改为core2。现在,这个过程是先在core1上运行,然后在唤醒时转移到core2,还是在后台直接转移到core2

类似的情况如下:(如果这可以通过某种方式实现) 我在任务结构中创建了一个新条目,但从一开始就将这个新进程置于睡眠模式。当某个内核处于睡眠模式时,该进程是否根据其设置的相关性分配给该内核?或者,仅当进程开始运行时(然后当该进程在开始时处于休眠状态时,该进程保留在哪个内核的休眠队列中),该进程才被分配给某个内核(根据其关联性)

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

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


谢谢

有人有什么意见/想法吗?