函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:We are reporting a quiescent state on behalf of some other CPU, so* it is our responsibility to check for and handle potential overflow* of the rcu_node ->gp_seq counter with respect to the rcu_data counters

函数原型:static void rcu_gpnum_ovf(struct rcu_node *rnp, struct rcu_data *rdp)

返回类型:void

参数:

类型参数名称
struct rcu_node *rnp
struct rcu_data *rdp
991  raw_lockdep_assert_held_rcu_node(rnp)
992  如果ULONG_CMP_LT(Return the current value the update side's sequence number, no ordering. + ULONG_MAX / 4, Track rsp->rcu_gp_seq. )则WRITE_ONCE(Possible ->gp_seq wrap. , true)
995  如果ULONG_CMP_LT(->gp_seq associated with ->rcu_iw. + ULONG_MAX / 4, Track rsp->rcu_gp_seq. )则->gp_seq associated with ->rcu_iw. 等于Track rsp->rcu_gp_seq. ULONG_MAX除4
调用者
名称描述
dyntick_save_progress_counterSnapshot the specified CPU's dynticks counter so that we can later* credit them with an implicit quiescent state. Return 1 if this CPU* is in dynticks idle mode, which is an extended quiescent state.
rcu_implicit_dynticks_qsReturn true if the specified CPU has passed through a quiescent* state by virtue of being in or having passed through an dynticks* idle state since the last call to dyntick_save_progress_counter()* for this same CPU, or by virtue of having been offline.
__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_cpu_startingMark the specified CPU as being online so that subsequent grace periods* (both expedited and normal) will wait on it. Note that this means that* incoming CPUs are not allowed to use RCU read-side critical sections* until this function is called