函数逻辑报告 |
Source Code:kernel\rcu\tree_exp.h |
Create Date:2022-07-27 11:28:38 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:synchronize_sched_expedited_wait
函数原型:static void synchronize_sched_expedited_wait(void)
返回类型:void
参数:无
470 | jiffies_start等于jiffies |
472 | 循环 |
477 | 如果ret大于0或Like sync_rcu_preempt_exp_done(), but this function assumes the caller* doesn't hold the rcu_node's ->lock, and will acquire and release the lock* itself则返回 |
480 | 如果rcu_cpu_stall_suppress则继续下一循环 |
483 | 打印错误信息("INFO: %s detected expedited stalls on CPUs/tasks: {", Name of structure. ) |
485 | ndetected等于0 |
487 | ndetected加等于rcu_print_task_exp_stall(rnp) |
492 | 如果非READ_ONCE(CPUs or groups that need to check in )按位与mask的值则继续下一循环 |
494 | ndetected自加 |
495 | rdp等于per_cpu_ptr( & rcu_data, cpu) |
496 | 打印标准信息(" %d-%c%c%c", cpu, "O."[!!cpu_online(cpu)], "o."[!!(Mask to apply to leaf qsmask. & complete. )], "N."[!!(Mask to apply to leaf qsmask. & ginning of each expedited GP. )]) |
502 | 打印标准信息(" } %lu jiffies s: %lu root: %#lx/%c\n", jiffies - jiffies_start, Take a ticket. , READ_ONCE(CPUs or groups that need to check in ), ".T"[!!s no such task. ]) |
506 | 如果ndetected则 |
507 | 打印错误信息("blocking rcu_node structures:") |
513 | 打印标准信息(" l=%u:%d-%d:%#lx/%c", is at level 0. , lowest-numbered CPU or group here. , highest-numbered CPU or group here. , READ_ONCE(CPUs or groups that need to check in ), ".T"[!!s no such task. ]) |
518 | 打印标准信息("\n") |
523 | 如果非READ_ONCE(CPUs or groups that need to check in )按位与mask的值则继续下一循环 |
525 | dump_cpu_task(cpu) |
名称 | 描述 |
---|---|
rcu_exp_wait_wake | Wait for the current expedited grace period to complete, and then* wake up everyone who piggybacked on the just-completed expedited* grace period. Also update all the ->exp_seq_rq counters as needed* in order to avoid counter-wrap problems. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |