Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\rcu_segcblist.c Create Date:2022-07-28 10:29:35
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Advance the callbacks in the specified rcu_segcblist structure based* on the current value passed in for the grace-period counter.

Proto:void rcu_segcblist_advance(struct rcu_segcblist *rsclp, unsigned long seq)

Type:void

Parameter:

TypeParameterName
struct rcu_segcblist *rsclp
unsigned longseq
415  WARN_ON_ONCE(!Is the specified rcu_segcblist enabled, for example, not corresponding* to an offline CPU?)
416  If Are all segments following the specified segment of the specified* rcu_segcblist structure empty of callbacks? (The specified* segment might well contain callbacks.) Then Return
423  When i < RCU_NEXT_TAIL cycle
424  If ULONG_CMP_LT(seq, gp_seq[i]) Then Break
426  WRITE_ONCE(tails[Also RCU_WAIT head. ], tails[i])
430  If i == Also RCU_NEXT_READY head. Then Return
434  When j < i cycle WRITE_ONCE(tails[j], tails[Also RCU_WAIT head. ])
443  When i < RCU_NEXT_TAIL cycle
444  If tails[j] == tails[RCU_NEXT_TAIL] Then Break
446  WRITE_ONCE(tails[j], tails[i])
447  gp_seq[j] = gp_seq[i]
Caller
NameDescribe
__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_advance_cbsMove any callbacks whose grace period has completed to the* RCU_DONE_TAIL sublist, then compact the remaining sublists and* assign ->gp_seq numbers to any callbacks in the RCU_NEXT_TAIL* sublist. This function is idempotent, so it does not hurt to
srcu_gp_startStart an SRCU grace period.