当前位置: 首页 > news >正文

Linux进程管理18 - CFS调度器5 - pick_next_task_fair

文章目录

  • CFS如何选择最合适的进程
  • 1、pick_next_task_fair
  • 1.1、全局put_prev_task函数
    • 1.1.1、CFS的put_prev_task_fair函数
    • 1.1.2、put_prev_entity
  • 1.2、pick_next_entity
    • 1.2.1、从left, second和curr进程中选择最优的进程
    • 1.2.2、cfs_rq的last和next指针域
    • 1.2.3、wakeup_preempt_entity检查是否可以被抢占
  • 1.3、set_next_entity
  • 组调度策略的支持
  • 参考博文

CFS如何选择最合适的进程

接前文:Linux进程管理6 - 核心调度 - 主调度器schedule

  • 每当进程任务切换的时候,也就是schedule函数执行时,调度器都需要选择下一个将要执行的任务。
  • 在CFS调度器中,是通过pick_next_task_fair函数完成的
    在这里插入图片描述
  • 当需要进程任务切换的时候,pick_next_task_fair函数的传入参数中包含了需要被切换出去的任务,也就是pre_task;
  • 当pre_task不是普通进程时,也就是调度类不是CFS,那么它就不使用sched_entity的调度实体来参与调度,因此会执行simple分支,通过put_pre_task函数来通知系统当前的任务需要被切换,而不是通过put_prev_entity函数来完成;
  • 当pre_task是普通进程时,调用pick_next_entity来选择下一个执行的任务&#x

相关文章:

  • NLP常见任务专题介绍(3)-垂直领域的聊天机器人搭建详细教程
  • 不同AI生成的PHP版雪花算法
  • upload-labs-master通关攻略(9~12)
  • 裂变营销策略在“开源链动2+1模式AI智能名片S2B2C商城小程序”中的应用探索
  • Makefile——make工具编译STM32工程
  • dns劫持是什么?常见的劫持类型有哪些?如何预防?
  • 记忆化搜索系列一>矩阵中的最长递增路径
  • 检查一个值 val 是否是特定类型的对象
  • Java 数组相关知识点
  • 用不了 Manus ?其实你能用 Llama或DeepSeek 做个自己的 AI Agent
  • 剑指 Offer II 065. 最短的单词编码
  • 没有最好的,只有最合适的:重新认识测试工具的价值
  • SAP S/4HANA Cloud Private Edition 2023 FPS03:AI助力业务创新
  • 洛谷 P2010 [NOIP 2016 普及组] 回文日期 Python
  • RocketMQ 详细教程(Spring Boot Spring Cloud Alibaba)
  • 靶场练习ing
  • 【A2DP】蓝牙A2DP协议剖析:从架构到规范
  • Linux进程基础知识
  • APIC 是什么?深度解析高级可编程中断控制器
  • Redis-配置文件
  • 动易做网站/优化师的工作内容
  • 吴江住房城乡建设局网站/国家大事新闻近三天
  • 哪些网站可以免费做推广呢/域名注册网站查询
  • 哪些网站做外贸/seo数据监控平台
  • 我是做装修的怎么样投资网站/搜索引擎优化的根本目的
  • 东莞网站建设渠道/win7系统优化大师