函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Start an SRCU grace period.

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

返回类型:void

参数:

类型参数名称
struct srcu_struct *ssp
440  sdp等于this_cpu_ptr(sda)
443  lockdep_assert_held( & ACCESS_PRIVATE(ssp, lock))
444  WARN_ON_ONCE(ULONG_CMP_GE(srcu_gp_seq, srcu_gp_seq_needed))
445  Wrappers for lock acquisition and release, see raw_spin_lock_rcu_node(). (sdp)
446  Advance the callbacks in the specified rcu_segcblist structure based* on the current value passed in for the grace-period counter.
448  "Accelerate" callbacks based on more-accurate grace-period information
450  spin_unlock_rcu_node(sdp)
451  smp_mb()
452  Adjust sequence number for start of update-side operation.
453  state等于Return the state portion of a sequence number previously returned* by rcu_seq_snap() or rcu_seq_current().
454  WARN_ON_ONCE(state != SRCU_STATE_SCAN1)
调用者
名称描述
srcu_gp_endNote 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
srcu_funnel_gp_startFunnel-locking scheme to scalably mediate many concurrent grace-period* requests
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.
srcu_reschedule