函数逻辑报告 |
Source Code:kernel\sched\core.c |
Create Date:2022-07-27 10:36:28 |
| Last Modify:2022-05-22 13:40:38 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:sh_task_switch - clean up after a task-switch*@prev: the thread we just switched away from
函数原型:static struct rq *finish_task_switch(struct task_struct *prev)__releases(rq->lock)
返回类型:struct rq
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct task_struct * | prev |
| 3203 | 如果WARN_ONCE(抢占计数值 != 2 * PREEMPT_DISABLE_OFFSET, "corrupted preempt_count: %s/%d/0x%x\n", comm, pid, 抢占计数值)则设置抢占计数 |
| 3208 | prev_mm = NULL |
| 3221 | prev_state等于任务状态 |
| 3222 | vtime_task_switch(prev) |
| 3223 | perf_event_task_sched_in(prev, 当前进程) |
| 3224 | finish_task(prev) |
| 3225 | finish_lock_switch(rq) |
| 3226 | finish_arch_post_lock_switch() |
| 3227 | kcov_finish_switch(当前进程) |
| 3242 | 如果mm则 |
| 3246 | 如果此条件成立可能性小(为编译器优化)(prev_state == TASK_DEAD)则 |
| 3262 | tick_nohz_task_switch() |
| 3263 | 返回:rq |
| 名称 | 描述 |
|---|---|
| schedule_tail | schedule_tail - first thing a freshly forked thread must call.*@prev: the thread we just switched away from. |
| context_switch | 进程切换 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |