Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Register an urgently needed quiescent state. If there is an* emergency, invoke rcu_momentary_dyntick_idle() to do a heavy-weight* dyntick-idle quiescent state visible to other CPUs, which will in

Proto:void rcu_all_qs(void)

Type:void

Parameter:Nothing

822  If Not Operations for contexts where we do not want to do any checks for* preemptions(rcu_urgent_qs) Then Return
824  Even if we don't have any preemption, we need preempt disable/enable* to be barriers, so that we don't have things like get_user/put_user* that can cause faults and scheduling migrate into our preempt-protected* region.()
826  If Not smp_load_acquire(this_cpu_ptr( & rcu_urgent_qs)) Then
827  preempt_enable()
828  Return
830  this_cpu_write(rcu_urgent_qs, false)
831  If Value for the false possibility is greater at compile time(Operations for contexts where we do not want to do any checks for* preemptions(rcu_need_heavy_qs)) Then
832  local_irq_save(flags)
833  Let the RCU core know that this CPU has gone through the scheduler,* which is a quiescent state
834  local_irq_restore(flags)
836  Note a quiescent state for PREEMPT=n. Because we do not need to know* how many quiescent states passed, just if there was at least one since* the start of the grace period, this just sets a flag. The caller must* have disabled preemption.
837  preempt_enable()
Caller
NameDescribe
_cond_resched