函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Enqueue the specified callback onto the specified rcu_segcblist* structure, updating accounting as needed

函数原型:void rcu_segcblist_enqueue(struct rcu_segcblist *rsclp, struct callback_head *rhp, bool lazy)

返回类型:void

参数:

类型参数名称
struct rcu_segcblist *rsclp
struct callback_head *rhp
boollazy
258  Increase the numeric length of an rcu_segcblist structure by one.* This can cause the ->len field to disagree with the actual number of* callbacks on the structure. This increase is fully ordered with respect* to the callers accesses both before and after.
259  如果lazylen_lazy自加
261  smp_mb()
262  next = NULL
263  WRITE_ONCE( * tails[RCU_NEXT_TAIL], rhp)
264  WRITE_ONCE(tails[RCU_NEXT_TAIL], & next)
调用者
名称描述
__call_rcuHelper function for call_rcu() and friends. The cpu argument will* normally be -1, indicating "currently running CPU". It may specify* a CPU only if that CPU is a no-CBs CPU. Currently, only rcu_barrier()* is expected to specify a CPU.
__call_srcuEnqueue an SRCU callback on the srcu_data structure associated with* the current CPU and the specified srcu_struct structure, initiating* grace-period processing if it is not already running