函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Core SRCU state machine. Push state bits of ->srcu_gp_seq* to SRCU_STATE_SCAN2, and invoke srcu_gp_end() when scan has* completed in that state.

函数原型:static void srcu_advance_state(struct srcu_struct *ssp)

返回类型:void

参数:

类型参数名称
struct srcu_struct *ssp
1095  mutex_lock( & srcu_gp_mutex)
1107  idx等于Return the state portion of a sequence number previously returned* by rcu_seq_snap() or rcu_seq_current().
1108  如果idx恒等于SRCU_STATE_IDLE
1109  spin_lock_irq_rcu_node(ssp)
1114  返回
1116  idx等于Return the state portion of a sequence number previously returned* by rcu_seq_snap() or rcu_seq_current().
1117  如果idx恒等于SRCU_STATE_IDLEStart an SRCU grace period.
1119  spin_unlock_irq_rcu_node(ssp)
1120  如果idx不等于SRCU_STATE_IDLE
1122  返回
1126  如果Return the state portion of a sequence number previously returned* by rcu_seq_snap() or rcu_seq_current().恒等于SRCU_STATE_SCAN1
1127  idx等于1按位异或 Current reader array element. 按位与1
1130  返回
1132  Increment the ->srcu_idx counter so that future SRCU readers will* use the other rank of the ->srcu_(un)lock_count[] arrays. This allows* us to wait for pre-existing readers in a starvation-free manner.
1133  Set the state portion of the pointed-to sequence number.* The caller is responsible for preventing conflicting updates.
1136  如果Return the state portion of a sequence number previously returned* by rcu_seq_snap() or rcu_seq_current().恒等于SRCU_STATE_SCAN2
1142  idx等于1按位异或 Current reader array element. 按位与1
1145  返回
1147  Note the end of an SRCU grace period. Initiates callback invocation* and starts a new grace period if needed.* The ->srcu_cb_mutex acquisition does not protect any data, but* instead prevents more than one grace period from starting while we
调用者
名称描述
process_srcu