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

linux rt任务调度器

首先来看下rt任务调度器的回调函数
在这里插入图片描述
本篇主要从以下几个方面来研究rt的调度策略
1、task的入队
2、任务调度挑选task的逻辑
3、tick定时器的处理

task的入队

其调用的流程为
enqueue_task_rt ->enqueue_rt_entity -> __enqueue_rt_entity

static void __enqueue_rt_entity(struct sched_rt_entity *rt_se, unsigned int flags)
{struct rt_rq *rt_rq = rt_rq_of_se(rt_se);struct rt_prio_array *array = &rt_rq->active;struct rt_rq *group_rq = group_rt_rq(rt_se);struct list_head *queue = array->queue + rt_se_prio(rt_se);/** Don't enqueue the group if its throttled, or when empty.* The latter is a consequence of the former when a child group* get throttled and the current group doesn't have any other* active members.*/if (group_rq && (rt_rq_throttled(group_rq) || !group_rq->rt_nr_running)) {if (rt_se->on_list)__delist_rt_entity(rt_se, array);return;}if (move_entity(flags)) {WARN_ON_ONCE(rt_se->on_list);if (flags & ENQUEUE_HEAD)
http://www.dtcms.com/a/523646.html

相关文章:

  • 金融智能体技术解读:十大应用场景与AI Agent架构设计思路
  • 永磁同步电机(PMSM)在MATLAB中的高级调参策略与实践
  • 李宏毅机器学习笔记31
  • 【timecode】两种不同的时间码格式:“`00:00:00`” 和 “`00:00:00:00`”
  • 个人网站 不用备案深圳建设网站和公众号
  • npm 安装 canvas 报错 node-gyp ERR! 的解决方法(Windows 系统)
  • 编辑器汇总:Neovim、Helix、Vim、LazyVim、Kakoune、nb、Lite XL
  • 如何开发一个自己的包并发布到npm
  • 商城型网站的概念企业信息平台登录
  • Docker MySQL 单主从及分表函数
  • UE5 蓝图-11:本汽车蓝图的事件图表,汽车拆分事件,染色事件(绿蓝黄青)。
  • CDC 实时数据同步与小时级统计方案(Flink 1.13.5 + MySQL 8.0)
  • Redis之String 类型入门与实战,由基础语法快速掌握再到缓存加速/验证码防刷/计数统计场景应用
  • 【Qt | .pro文件】Qt项目文件详解:pro文件与pri文件
  • SpringAI2-Spring AI-聊天模型:ChatClient,流式编程,ChatModel
  • [MySQL] 事务和视图
  • 建设网站的特色wordpress域名网站搬家
  • 记录画图笔记
  • 【江苏政务服务网-注册_登录安全分析报告】
  • redisson介绍
  • 20251020二分总结
  • Android 基于清单文件mate-data数据共享
  • Android中Window和LayoutParams的常用属性及常用方法介绍
  • MySQL的安装与卸载
  • 单调栈详解【C/C++】
  • 智慧用电平台让安全走在事故前面
  • 自己的商标名称可以做网站名称吗单页手机网站源码
  • 做网站设计的电脑需要什么配置公司网站首页图片素材
  • Kubernetes网络通信与Pod基础详解:从架构图看K8s核心组件
  • freeRTOS学习日记