函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Similar to rcu_report_qs_rdp(), for which it is a helper function

函数原型:static void rcu_report_qs_rnp(unsigned long mask, struct rcu_node *rnp, unsigned long gps, unsigned long flags)__releases(rnp->lock)

返回类型:void

参数:

类型参数名称
unsigned longmask
struct rcu_node *rnp
unsigned longgps
unsigned longflags
1869  oldmask等于0
1872  raw_lockdep_assert_held_rcu_node(rnp)
1875  循环
1876  如果非CPUs or groups that need to switch in 按位与mask的值且maskTrack rsp->rcu_gp_seq. 不等于gps
1883  返回
1885  WARN_ON_ONCE(oldmask)
1886  WARN_ON_ONCE(!Is this rcu_node a leaf? (rnp) && rcu_preempt_blocked_readers_cgp(rnp))
1888  CPUs or groups that need to switch in 与等于mask的反
1889  trace_rcu_quiescent_state_report(Name of structure. , Track rsp->rcu_gp_seq. , mask, CPUs or groups that need to switch in , is at level 0. , lowest-numbered CPU or group here. , highest-numbered CPU or group here. , !!f this list and age towards the tail. )
1897  返回
1899  All QSes done for this node. 等于Track rsp->rcu_gp_seq.
1900  mask等于Mask to apply to parent qsmask.
1901  如果(cu_node tree? == NULL)则
1905  退出
1907  raw_spin_unlock_irqrestore_rcu_node(rnp, flags)
1908  rnp_c等于rnp
1909  rnp等于cu_node tree?
1910  raw_spin_lock_irqsave_rcu_node(rnp, flags)
1911  oldmask等于CPUs or groups that need to switch in
1919  Report a full set of quiescent states to the rcu_state data structure
调用者
名称描述
rcu_gp_initInitialize a new grace period. Return false if no grace period required.
rcu_report_unblock_qs_rnpRecord a quiescent state for all tasks that were previously queued* on the specified rcu_node structure and that were blocking the current* RCU grace period
rcu_report_qs_rdpRecord a quiescent state for the specified CPU to that CPU's rcu_data* structure. This must be called from the specified CPU.
force_qs_rnp
rcu_cpu_startingMark the specified CPU as being online so that subsequent grace periods* (both expedited and normal) will wait on it. Note that this means that* incoming CPUs are not allowed to use RCU read-side critical sections* until this function is called