函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Helper function for synchronize_srcu() and synchronize_srcu_expedited().

函数原型:static void __synchronize_srcu(struct srcu_struct *ssp, bool do_norm)

返回类型:void

参数:

类型参数名称
struct srcu_struct *ssp
booldo_norm
909  RCU_LOCKDEP_WARN(lock_is_held( & dep_map) || lock_is_held( & rcu_bh_lock_map) || lock_is_held( & rcu_lock_map) || lock_is_held( & rcu_sched_lock_map), "Illegal synchronize_srcu() in same-type SRCU (or in RCU) read-side critical section")
915  如果rcu_scheduler_active恒等于RCU_SCHEDULER_INACTIVE则返回
917  might_sleep()
918  First-use initialization of statically allocated srcu_struct* structure
919  init_completion( & completion)
920  init_rcu_head_on_stack( & head)
921  Enqueue an SRCU callback on the srcu_data structure associated with* the current CPU and the specified srcu_struct structure, initiating* grace-period processing if it is not already running
922  wait_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
923  destroy_rcu_head_on_stack( & head)
932  smp_mb()
调用者
名称描述
synchronize_srcu_expeditedsynchronize_srcu_expedited - Brute-force SRCU grace period*@ssp: srcu_struct with which to synchronize
synchronize_srcusynchronize_srcu - wait for prior SRCU read-side critical-section completion*@ssp: srcu_struct with which to synchronize