函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:_start_this_gp - Request the start of a particular grace period*@rnp_start: The leaf node of the CPU from which to start

函数原型:static bool rcu_start_this_gp(struct rcu_node *rnp_start, struct rcu_data *rdp, unsigned long gp_seq_req)

返回类型:bool

参数:

类型参数名称
struct rcu_node *rnp_start
struct rcu_data *rdp
unsigned longgp_seq_req
1156  bool ret = false
1168  raw_lockdep_assert_held_rcu_node(rnp_start)
1169  Trace-event wrapper function for trace_rcu_future_grace_period.
1170  以1循环
1171  如果rnp不等于rnp_startWrappers for the rcu_node::lock acquire and release(rnp)
1179  转到:unlock_out
1181  Track furthest future GP request. 等于gp_seq_req
1191  转到:unlock_out
1193  如果(rnp != rnp_start && cu_node tree? != NULL)则raw_spin_unlock_rcu_node(rnp)
1195  如果非cu_node tree? 退出
1200  如果Return true if an RCU grace period is in progress. The READ_ONCE()s* permit this function to be invoked without holding the root rcu_node* structure's ->lock, but of course results can be subject to change.
1201  Trace-event wrapper function for trace_rcu_future_grace_period.
1202  转到:unlock_out
1204  Trace-event wrapper function for trace_rcu_future_grace_period.
1205  WRITE_ONCE(Commands for GP task. , Commands for GP task. | Need grace-period initialization. )
1206  Time of last GP request 等于jiffies
1207  如果非Task for grace periods.
1208  Trace-event wrapper function for trace_rcu_future_grace_period.
1209  转到:unlock_out
1211  trace_rcu_grace_period(Name of structure. , READ_ONCE(Grace-period sequence #. ), 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.("newreq"))
1212  ret = true
1213  unlock_out :
1215  如果ULONG_CMP_LT(gp_seq_req, Track furthest future GP request. )则
1216  Track furthest future GP request. 等于Track furthest future GP request.
1217  Track furthest future GP request. 等于Track furthest future GP request.
1219  如果rnp不等于rnp_startraw_spin_unlock_rcu_node(rnp)
1221  返回:ret
调用者
名称描述
rcu_accelerate_cbsIf there is room, assign a ->gp_seq number to any callbacks on this* CPU that have not already been assigned