Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\tree.c Create Date:2022-07-28 10:26:23
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Similar to rcu_report_qs_rdp(), for which it is a helper function

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

Type:void

Parameter:

TypeParameterName
unsigned longmask
struct rcu_node *rnp
unsigned longgps
unsigned longflags
1869  oldmask = 0
1872  raw_lockdep_assert_held_rcu_node(rnp)
1875  cycle
1883  Return
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  Return
1899  All QSes done for this node. = Track rsp->rcu_gp_seq.
1900  mask = Mask to apply to parent qsmask.
1901  If (cu_node tree? == NULL) Then
1905  Break
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
Caller
NameDescribe
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