Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Force quiescent states on reluctant CPUs, and also detect which* CPUs are in dyntick-idle mode.

Proto:void rcu_force_quiescent_state(void)

Type:void

Parameter:Nothing

2341  struct rcu_node * rnp_old = NULL
2344  rnp = Operations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(mynode)
2345  When rnp != NULL cycle
2346  ret = READ_ONCE(Commands for GP task. ) & Need grace-period quiescent-state forcing. || Not Define the various spin_lock methods. Note we define these* regardless of whether CONFIG_SMP or CONFIG_PREEMPTION are set. The* various methods are defined as nops in the case they are not* required.( & fqslock)
2348  If (rnp_old != NULL) Then raw_spin_unlock( & fqslock)
2350  If ret Then Return
2352  rnp_old = rnp
2357  raw_spin_lock_irqsave_rcu_node(rnp_old, flags)
2358  raw_spin_unlock( & fqslock)
2359  If READ_ONCE(Commands for GP task. ) & Need grace-period quiescent-state forcing. Then
2360  raw_spin_unlock_irqrestore_rcu_node(rnp_old, flags)
2361  Return
2363  WRITE_ONCE(Commands for GP task. , READ_ONCE(Commands for GP task. ) | Need grace-period quiescent-state forcing. )
2365  raw_spin_unlock_irqrestore_rcu_node(rnp_old, flags)
2366  Awaken the grace-period kthread
Caller
NameDescribe
__call_rcu_coreHandle any core-RCU processing required by a call_rcu() invocation.