函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Do one round of quiescent-state forcing.

函数原型:static void rcu_gp_fqs(bool first_time)

返回类型:void

参数:

类型参数名称
boolfirst_time
1618  rnp等于Return the root node of the rcu_state structure.
1620  WRITE_ONCE(Time of last GP kthread , jiffies)
1621  Number of calls to 自加
1622  如果first_time
1624  force_qs_rnp(Snapshot the specified CPU's dynticks counter so that we can later* credit them with an implicit quiescent state. Return 1 if this CPU* is in dynticks idle mode, which is an extended quiescent state.)
1625  否则
1627  force_qs_rnp(Return true if the specified CPU has passed through a quiescent* state by virtue of being in or having passed through an dynticks* idle state since the last call to dyntick_save_progress_counter()* for this same CPU, or by virtue of having been offline.)
1630  如果READ_ONCE(Commands for GP task. )按位与Need grace-period quiescent-state forcing.
1631  raw_spin_lock_irq_rcu_node(rnp)
1632  WRITE_ONCE(Commands for GP task. , READ_ONCE(Commands for GP task. ) & ~Need grace-period quiescent-state forcing. )
1634  raw_spin_unlock_irq_rcu_node(rnp)
调用者
名称描述
rcu_gp_fqs_loopLoop doing repeated quiescent-state forcing until the grace period ends.