Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Mark 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

Proto:void rcu_cpu_starting(unsigned int cpu)

Type:void

Parameter:

TypeParameterName
unsigned intcpu
3170  If per_cpu(rcu_cpu_started, cpu) Then Return
3173  per_cpu(rcu_cpu_started, cpu) = 1
3175  rdp = per_cpu_ptr( & rcu_data, cpu)
3176  rnp = This CPU's leaf of hierarchy
3177  mask = Mask to apply to leaf qsmask.
3178  raw_spin_lock_irqsave_rcu_node(rnp, flags)
3179  ginning of each grace period. |= mask
3180  oldmask = ginning of each expedited GP.
3181  ginning of each expedited GP. |= mask
3182  oldmask ^= ginning of each expedited GP.
3183  nbits = bitmap_weight( & oldmask, BITS_PER_LONG)
3185  smp_store_release( & # CPUs seen so far. , # CPUs seen so far. + nbits)
3186  We are reporting a quiescent state on behalf of some other CPU, so* it is our responsibility to check for and handle potential overflow* of the rcu_node ->gp_seq counter with respect to the rcu_data counters
3187  ->gp_seq at last online. = READ_ONCE(Grace-period sequence #. )
3188  ->gp_flags at last online. = READ_ONCE(Commands for GP task. )
3189  If CPUs or groups that need to switch in & mask Then
3190  If any sort of urgency was applied to the current CPU (for example,* the scheduler-clock interrupt was enabled on a nohz_full CPU) in order* to get to a quiescent state, disable it.
3192  Similar to rcu_report_qs_rdp(), for which it is a helper function
3193  Else
3194  raw_spin_unlock_irqrestore_rcu_node(rnp, flags)
3196  smp_mb()
Caller
NameDescribe
mtrr_ap_init
rcu_init