- 博客(2)
- 资源 (1)
- 收藏
- 关注
原创 __schedule流程中pick_next_task代码学习
前面已经学习了deactivate_task这个接口,它是将当前的任务从rq中移除,移除之后自然需要pick_next_task来选取下一个执行的任务。Pick_next_task接口会首先判断当前程序的调度类是不是公平调度,以及rq中running状态的任务数和rq中cfs调度rq中的running状态的任务数目,条件符合就使用CFS的pick_next_task_fair方法选取下一个执行任务,核心的调用流程如下:pick_next_task_fair put_prev_task ...
2020-09-13 13:10:23
433
原创 __schedule流程中deactive_task代码学习
deactive_task使用场景在__schedule处理中, deactive_task用于将当前的任务从rq中删除,如下流程图,在非内核抢占且当前任务不处于运行状态,如果当前任务存在待处理的信号量,要将这个任务状态设置成TASK_RUNNING,如果没有才调用deactive_task,将当前任务从rq中删除。task_struct中的state字段描述进程的当前状态,进程一共有五个状态:statestate descriptionTASK_RUNNING运行:进程是可执
2020-08-08 18:39:48
425
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人