- 简单分析
- 多个调度算法
- 加入组调度
- 组调度基本思想
假设我的系统只有一种调度算法cfs
那么有个调度的队列 cfs_rq
所有running的进程都会 进入这个队列,不在running 或者其他情况会出队列,ok。则假设队列控制的算法有以下。
cfs_rq_enqueue cfs_rq_dequeue cfs_rq_pick
所操作的是进程描述符 task_struck.
那么很简单可以理解上述过程
scehed_pick ---->cfs_rq_pick就行了。
多个调度算法那么如果除了cfs还有rt算法
那么就有两个调度队列,cfs_rq和rt_rq。
一个进程task_struck 有可能属于cfs和rt。
那么考虑 scehed_pick 是如何pick?
ok,Linux建立一个sched_class 的结构链表,sched_class_cfs和sched_class_rt或者还有其他的。顺序的从这么多个调度算法中选择一个合适的。
stop_sched_class -> ->



