函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:This function checks for grace-period requests that fail to motivate* RCU to come out of its idle mode.

函数原型:static void rcu_check_gp_start_stall(struct rcu_node *rnp, struct rcu_data *rdp, const unsigned long gpssdelay)

返回类型:void

参数:

类型参数名称
struct rcu_node *rnp
struct rcu_data *rdp
const unsigned longgpssdelay
610  rnp_root等于Return the root node of the rcu_state structure.
611  warned等于Atomic operations that C can't guarantee us. Useful for* resource counting etc..(0)
613  如果非IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_PROVE_RCU)或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.ULONG_CMP_GE(Track rsp->rcu_gp_seq. , Track furthest future GP request. )则返回
616  j等于jiffies
617  如果time_before(j, READ_ONCE(Time of last GP request ) + gpssdelay)或time_before(j, READ_ONCE(Time of last GP kthread ) + gpssdelay)或atomic_read( & warned)则返回
622  raw_spin_lock_irqsave_rcu_node(rnp, flags)
623  j等于jiffies
624  如果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.ULONG_CMP_GE(Track rsp->rcu_gp_seq. , Track furthest future GP request. )或time_before(j, READ_ONCE(Time of last GP request ) + gpssdelay)或time_before(j, READ_ONCE(Time of last GP kthread ) + gpssdelay)或atomic_read( & warned)则
629  raw_spin_unlock_irqrestore_rcu_node(rnp, flags)
630  返回
634  如果rnp_root不等于rnpWrappers for the rcu_node::lock acquire and release(rnp_root)
636  j等于jiffies
637  如果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.ULONG_CMP_GE(Track rsp->rcu_gp_seq. , Track furthest future GP request. )或time_before(j, Time of last GP request + gpssdelay)或time_before(j, Time of last GP kthread + gpssdelay)或atomic_xchg( & warned, 1)则
642  如果rnp_root不等于rnpraw_spin_unlock_rcu_node(rnp_root)
645  raw_spin_unlock_irqrestore_rcu_node(rnp, flags)
646  返回
648  WARN_ON(1)
649  如果rnp_root不等于rnpraw_spin_unlock_rcu_node(rnp_root)
651  raw_spin_unlock_irqrestore_rcu_node(rnp, flags)
652  Show the state of the grace-period kthreads.
调用者
名称描述
rcu_corePerform RCU core processing work for the current CPU.
rcu_fwd_progress_checkDo a forward-progress check for rcutorture. This is normally invoked* due to an OOM event. The argument "j" gives the time period during* which rcutorture would like progress to have been made.