Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Funnel-locking scheme to scalably mediate many concurrent expedited* grace-period requests. This function is invoked for the first known* expedited request for a grace period that has already been requested,* but without expediting

Proto:static void srcu_funnel_exp_start(struct srcu_struct *ssp, struct srcu_node *snp, unsigned long s)

Type:void

Parameter:

TypeParameterName
struct srcu_struct *ssp
struct srcu_node *snp
unsigned longs
603  When snp != NULL cycle
604  If Given a snapshot from rcu_seq_snap(), determine whether or not a* full update-side operation has occurred. || ULONG_CMP_GE(READ_ONCE(srcu_gp_seq_needed_exp), s) Then Return
607  spin_lock_irqsave_rcu_node(snp, flags)
610  Return
612  WRITE_ONCE(srcu_gp_seq_needed_exp, s)
613  spin_unlock_irqrestore_rcu_node(snp, flags)
615  spin_lock_irqsave_rcu_node(ssp, flags)
616  If ULONG_CMP_LT(srcu_gp_seq_needed_exp, s) Then srcu_gp_seq_needed_exp = s
618  spin_unlock_irqrestore_rcu_node(ssp, flags)
Caller
NameDescribe
srcu_funnel_gp_startFunnel-locking scheme to scalably mediate many concurrent grace-period* requests
__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