函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\update.c Create Date:2022-07-27 11:18:14
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:__wait_rcu_gp

函数原型:void __wait_rcu_gp(bool checktiny, int n, call_rcu_func_t *crcu_array, struct rcu_synchronize *rs_array)

返回类型:void

参数:

类型参数名称
boolchecktiny
intn
call_rcu_func_t *crcu_array
struct rcu_synchronize *rs_array
350 i小于n循环
353  might_sleep()
354  继续下一循环
356  init_rcu_head_on_stack( & head)
357  init_completion( & completion)
358 j小于i循环如果crcu_array[j]恒等于crcu_array[i]则
360  退出
361  如果j恒等于i则(crcu_array[i])( & head, wakeme_after_rcu() - Callback function to awaken a task after grace period*@head: Pointer to rcu_head member within rcu_synchronize structure* Awaken the corresponding task now that a grace period has elapsed.)
366 i小于n循环
367  如果checktinycrcu_array[i]恒等于Post an RCU callback to be invoked after the end of an RCU grace* period. But since we have but one CPU, that would be after any* quiescent state.则继续下一循环
370 j小于i循环如果crcu_array[j]恒等于crcu_array[i]则
372  退出
373  如果j恒等于iwait_for_completion: - waits for completion of a task*@x: holds the state of this particular completion* This waits to be signaled for completion of a specific task. It is NOT* interruptible and there is no timeout.* See also similar routines (i
375  destroy_rcu_head_on_stack( & head)