函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Wait until all readers counted by array index idx complete, but* loop an additional time if there is an expedited grace period pending.* The caller must ensure that ->srcu_idx is not changed while checking.

函数原型:static bool try_check_zero(struct srcu_struct *ssp, int idx, int trycount)

返回类型:bool

参数:

类型参数名称
struct srcu_struct *ssp
intidx
inttrycount
700  循环
701  如果Return true if the number of pre-existing readers is determined to* be zero.则返回:true
703  如果trycount先自减加非Return grace-period delay, zero if there are expedited grace* periods pending, SRCU_INTERVAL otherwise.小于等于0则返回:false
705  0x10c7 is 2**32 / 1000000 (rounded up) (We use an adaptive strategy for synchronize_srcu() and especially for* synchronize_srcu_expedited(). We spin for a fixed time period* (defined below) to allow SRCU readers to exit their read-side critical* sections)
调用者
名称描述
srcu_advance_stateCore 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.