|
:
这些任务应当设法“盯牢”物理 CPU,而不是逻辑 CPU。
支持 HT 的唤醒:
现有的调度程序只知道“当前”CPU,不知道其任何“伙伴”CPU。在 HT 上,如果一个逻辑 CPU 正在执行任务,其上的一个线程被唤醒了,而且其“伙伴”CPU 是空闲的,那么该“伙伴”CPU 必须被唤醒以立即执行刚唤醒的任务。
在撰写本文时,Molnar 已经提供了现有的内核 2.5.32 补丁程序,它通过引入共享运行队列(多个 CPU 可以共享同一个运行队列)的概念来实现上述所有更改。共享的、针对每个物理 CPU 的运行队列实现了上面所列的所有 HT 调度操作的需要。显然,这使调度和负载均衡变得复杂了,而且这对 SMP 和单处理器调度程序的影响仍然是未知的。
|