load
既然struct load_weight保存着进程的权重信息, 那么作为进程调度的实体, 必须将这个权重值与特定的进程task_struct, 更一般的与通用的调度实体sched_entity...下面我们列出优先级权重转换表定义更新后对比项
内核版本 实现 地址
<= linux-4.4 static const int prio_to_weight[40] kernel/sched/sched.h...的演变
linux内核的调度器经过了不同阶段的发展, 但是即使是同一个调度器其算法也不是一成不变的, 也在不停的改进和优化
内核版本 实现 地址
2.6.18~2.6.22 实时进程的权重用RTPRIO_TO_LOAD_WEIGHT...v=4.6#L490
struct dl_rq中不需要负荷权重
由于负荷权重仅用于调度普通进程(非实时进程), 因此只在cpu的就绪队列队列rq和cfs调度器的就绪队列cfs_rq上需要保存其就绪队列的信息..., 就需要在就绪队列的负荷权重中加上进程的负荷权重, 同时由于就绪队列的不是一个单独被调度的实体, 也就不需要优先级到负荷权重的转换, 因而其不需要负荷权重的重除字段, 即inv_weight = 0;