函数 描述
进程入队/出队 enqueue_task_fair/dequeue_task_fair 向CFS的就读队列中添加删除进程
选择最优进程(主调度器) pick_next_task_fair 主调度器会按照如下顺序调度..., 当然因为大多数情况下, 系统中全是CFS调度的非实时进程, 因而linux内核也有一些优化的策略 一般情况下选择红黑树中的最左进程left作为最优进程完成调度, 如果选出的进程正好是cfs_rq->...;
/* 调整调度实体se的虚拟运行时间 */
place_entity(cfs_rq, se, 1);
我们可以看到, 此时调用place_entity时的initial参数设置为...关于place_entity函数, 我们之前在讲解CFS队列操作的时候已经讲的很详细了
参见linux进程管理与调度之CFS入队出队操作
设想一下子如果休眠进程的vruntime保持不变,...这种情况下如果设置了sysctl_sched_child_runs_first标识, 这时候我们必须采取策略保证子进程先运行, 可以通过交换curlr和se的vruntime值, 来保证se进程(子进程