Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:rcu_pending

Proto:static int rcu_pending(int user)

Type:int

Parameter:

TypeParameterName
intuser
2824  rdp = this_cpu_ptr( & rcu_data)
2825  rnp = This CPU's leaf of hierarchy
2828  check_cpu_stall(rdp)
2831  If rcu_nocb_need_deferred_wakeup(rdp) Then Return 1
2835  If (user || _is_cpu_rrupt_from_idle - see if interrupted from idle* If the current CPU is idle and running at a first-level (not nested)* interrupt from idle, return true. The caller must have at least* disabled preemption.) && rcu_nohz_full_cpu() Then Return 0
2839  gp_in_progress = 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.
2840  If Core waits for quiesc state. && Not norm && gp_in_progress Then Return 1
2844  If Does the specified rcu_segcblist structure contain callbacks that* are ready to be invoked? Then Return 1
2848  If Not gp_in_progress && Is the specified rcu_segcblist enabled, for example, not corresponding* to an offline CPU? && ( Not IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_RCU_NOCB_CPU) || Not Is the specified rcu_segcblist offloaded? ) && Not Are all segments following the specified segment of the specified* rcu_segcblist structure empty of callbacks? (The specified* segment might well contain callbacks.) Then Return 1
2855  If Return the current value the update side's sequence number, no ordering. != Track rsp->rcu_gp_seq counter. || Value for the false possibility is greater at compile time(READ_ONCE(Possible ->gp_seq wrap. )) Then Return 1
2860  Return 0
Caller
NameDescribe
rcu_sched_clock_irqThis function is invoked from each scheduling-clock interrupt,* and checks to see if this CPU is in a non-context-switch quiescent* state, for example, user mode or idle loop. It also schedules RCU* core processing