函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:If there is room, assign a ->gp_seq number to any callbacks on this* CPU that have not already been assigned

函数原型:static bool rcu_accelerate_cbs(struct rcu_node *rnp, struct rcu_data *rdp)

返回类型:bool

参数:

类型参数名称
struct rcu_node *rnp
struct rcu_data *rdp
1282  bool ret = false
1284  rcu_lockdep_assert_cblist_protected(rdp)
1285  raw_lockdep_assert_held_rcu_node(rnp)
1288  如果非Does the specified rcu_segcblist structure contain callbacks that* are still pending, that is, not yet ready to be invoked?则返回:false
1301  gp_seq_req等于_seq_snap - Take a snapshot of the update side's sequence number.* This function returns the earliest value of the grace-period sequence number* that will indicate that a full grace period has elapsed since the current* time
1302  如果"Accelerate" callbacks based on more-accurate grace-period informationret等于_start_this_gp - Request the start of a particular grace period*@rnp_start: The leaf node of the CPU from which to start
1306  如果Are all segments following the specified segment of the specified* rcu_segcblist structure empty of callbacks? (The specified* segment might well contain callbacks.)trace_rcu_grace_period(Name of structure. , Track rsp->rcu_gp_seq counter. , Strings used in tracepoints need to be exported via the* tracing system such that tools like perf and trace-cmd can* translate the string address pointers to actual text.("AccWaitCB"))
1308  否则trace_rcu_grace_period(Name of structure. , Track rsp->rcu_gp_seq counter. , Strings used in tracepoints need to be exported via the* tracing system such that tools like perf and trace-cmd can* translate the string address pointers to actual text.("AccReadyCB"))
1310  返回:ret
调用者
名称描述
rcu_accelerate_cbs_unlockedSimilar to rcu_accelerate_cbs(), but does not require that the leaf* rcu_node structure's ->lock be held
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
__note_gp_changesUpdate CPU-local rcu_data state to record the beginnings and ends of* grace periods. The caller must hold the ->lock of the leaf rcu_node* structure corresponding to the current CPU, and must have irqs disabled.
rcu_gp_cleanupClean up after the old grace period.
rcu_report_qs_rdpRecord a quiescent state for the specified CPU to that CPU's rcu_data* structure. This must be called from the specified CPU.