【发布时间】:2011-09-11 17:14:38
【问题描述】:
linux内核的CFS调度器如何在sched_latency_ns时间内调度所有进程。 是遍历红黑树还是每次进程切换后重新平衡。
【问题讨论】:
标签: linux linux-kernel kernel scheduling
linux内核的CFS调度器如何在sched_latency_ns时间内调度所有进程。 是遍历红黑树还是每次进程切换后重新平衡。
【问题讨论】:
标签: linux linux-kernel kernel scheduling
here结合sn-p源码详细描述CFS。
【讨论】:
从Wikipedia 文章开始...
与旧版 Linux 2.6 内核中使用的先前 O(1) 调度程序相比,CFS 调度程序实现不是基于运行队列。相反,红黑树实现了未来任务执行的“时间线”。此外,调度程序使用纳秒粒度记帐,即分配单个进程的 CPU 份额的原子单位(从而使以前的时间片概念变得多余)。例如,这种精确的知识也意味着不需要特定的启发式方法来确定流程的交互性。[2]
【讨论】: