函数逻辑报告 | 
Source Code:kernel\sched\core.c | 
Create Date:2022-07-27 10:36:44 | 
| Last Modify:2022-05-22 13:40:38 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:调度器
函数原型:static void __sched notrace __schedule(bool preempt)
返回类型:void
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| bool | preempt | 
| 4018 | 调试检查和统计 | 
| 4020 | 如果sched_feat(HRTICK)则清除高精度任务 | 
| 4023 | 禁止中断() | 
| 4038 | clock_update_flags左移等于1位 | 
| 4039 | 更新rq运行时间 | 
| 4041 | switch_count等于上下文切换计数 | 
| 4056 | next等于选择下一个要运行的进程 | 
| 4057 | 清除调度位 | 
| 4058 | 清除CPU的内核抢占 | 
| 4060 | 如果此条件成立可能性大(为编译器优化)(prev != next)则 | 
| 4061 | 切换计数器自加 | 
| 4081 | switch_count先自加 | 
| 4087 | 否则 | 
| 4089 | rq_unlock_irq(rq, & rf) | 
| 4092 | 负载均衡配置 | 
| 名称 | 描述 | 
|---|---|
| do_task_dead | |
| schedule | 进程调度 | 
| schedule_idle | synchronize_rcu_tasks() makes sure that no task is stuck in preempted* state (have scheduled out non-voluntarily) by making sure that all* tasks have either left the run queue or have gone into user space | 
| preempt_schedule_common | |
| preempt_schedule_irq | This is the entry point to schedule() from kernel preemption* off of irq context.* Note, that this is called and return with irqs disabled. This will* protect us against recursive calling from irq. | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |