函数逻辑报告 |
Source Code:kernel\events\core.c |
Create Date:2022-07-27 14:52:40 |
| Last Modify:2022-05-20 07:50:19 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:perf_event_context_sched_out
函数原型:static void perf_event_context_sched_out(struct task_struct *task, int ctxn, struct task_struct *next)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct task_struct * | task | |
| int | ctxn | |
| struct task_struct * | next |
| 3204 | ctx等于perf_event_ctxp[ctxn] |
| 3208 | do_switch等于1 |
| 3210 | 如果此条件成立可能性大(为编译器优化)(!ctx)则返回 |
| 3213 | cpuctx等于__get_cpu_context(ctx) |
| 3214 | 如果非task_ctx则返回 |
| 3218 | next_ctx等于perf_event_ctxp[ctxn] |
| 3226 | 如果非parent且非next_parent则转到:unlock |
| 3229 | 如果next_parent恒等于ctx或next_ctx恒等于parent或next_parent恒等于parent则 |
| 3244 | WRITE_ONCE(task, next) |
| 3245 | WRITE_ONCE(task, task) |
| 3253 | 如果swap_task_ctx则swap_task_ctx(ctx, next_ctx) |
| 3255 | 否则swap - swap values of @a and @b*@a: first value*@b: second value(pmu specific data , pmu specific data ) |
| 3268 | do_switch等于0 |
| 3270 | perf_event_sync_stat(ctx, next_ctx) |
| 3275 | unlock : |
| 3278 | 如果do_switch则 |
| 3280 | task_ctx_sched_out(cpuctx, ctx, EVENT_ALL) |
| 名称 | 描述 |
|---|---|
| __perf_event_task_sched_out | Called from scheduler to remove the events of the current task,* with interrupts disabled |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |