函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:"Accelerate" callbacks based on more-accurate grace-period information

函数原型:bool rcu_segcblist_accelerate(struct rcu_segcblist *rsclp, unsigned long seq)

返回类型:bool

参数:

类型参数名称
struct rcu_segcblist *rsclp
unsigned longseq
470  WARN_ON_ONCE(!Is the specified rcu_segcblist enabled, for example, not corresponding* to an offline CPU?)
471  如果Are all segments following the specified segment of the specified* rcu_segcblist structure empty of callbacks? (The specified* segment might well contain callbacks.)则返回:false
482 i大于Also RCU_WAIT head. 循环如果tails[i]不等于tails[i - 1]且ULONG_CMP_LT(gp_seq[i], seq)则
485  退出
500  如果i先自加大于等于RCU_NEXT_TAIL则返回:false
510 i小于RCU_NEXT_TAIL循环
511  WRITE_ONCE(tails[i], tails[RCU_NEXT_TAIL])
512  gp_seq[i]等于seq
514  返回:true
调用者
名称描述
__call_srcuEnqueue an SRCU callback on the srcu_data structure associated with* the current CPU and the specified srcu_struct structure, initiating* grace-period processing if it is not already running
srcu_invoke_callbacks
rcu_accelerate_cbsIf there is room, assign a ->gp_seq number to any callbacks on this* CPU that have not already been assigned
rcu_accelerate_cbs_unlockedSimilar to rcu_accelerate_cbs(), but does not require that the leaf* rcu_node structure's ->lock be held
srcu_gp_startStart an SRCU grace period.