Skip to content

EEVDF介绍

CFS

EEVDF

代码

四个基本函数:avg_vruntime_updateavg_vruntime_addavg_vruntime_subavg_vruntime 关键路径: update_min_vruntime用于更新整个调度器的cfs_rq->min_vruntime

c
// update_curr是任务状态更新函数(包括插入新任务的enqueue_entity也会调用这个函数),reweight_entity是修改weight(nice)调用的函数,dequeue_entity是调出调度队列调用的函数
|- [update_curr() | reweight_entity() | dequeue_entity()]
   |- update_min_vruntime()
      |- avg_vruntime_update()

avg_vruntime_add

c
|- [reweight_entity() | enqueue_entity() | put_prev_entity()]
   |- __enqueue_entity()
      |- avg_vruntime_add()

avg_vruntime_sub

c