函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

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

函数原型:void rcu_force_quiescent_state(void)

返回类型:void

参数:

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 rnp != NULL循环
2346  ret等于READ_ONCE(Commands for GP task. )按位与Need grace-period quiescent-state forcing. 或非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  如果(rnp_old != NULL)则raw_spin_unlock( & fqslock)
2350  如果ret则返回
2352  rnp_old等于rnp
2357  raw_spin_lock_irqsave_rcu_node(rnp_old, flags)
2358  raw_spin_unlock( & fqslock)
2359  如果READ_ONCE(Commands for GP task. )按位与Need grace-period quiescent-state forcing.
2360  raw_spin_unlock_irqrestore_rcu_node(rnp_old, flags)
2361  返回
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
调用者
名称描述
__call_rcu_coreHandle any core-RCU processing required by a call_rcu() invocation.
print_other_cpu_stall