Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

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

Proto:static bool rcu_accelerate_cbs(struct rcu_node *rnp, struct rcu_data *rdp)

Type:bool

Parameter:

TypeParameterName
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  If Not Does the specified rcu_segcblist structure contain callbacks that* are still pending, that is, not yet ready to be invoked? Then Return 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  If "Accelerate" callbacks based on more-accurate grace-period information Then ret = _start_this_gp - Request the start of a particular grace period*@rnp_start: The leaf node of the CPU from which to start
1306  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 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  Else 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  Return ret
Caller
NameDescribe
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.