函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:_is_watching - see if RCU thinks that the current CPU is not idle* Return true if RCU is watching the running CPU, which means that this* CPU can safely enter RCU read-side critical sections

函数原型:bool notrace rcu_is_watching(void)

返回类型:bool

参数:

922  preempt_disable_notrace()
923  ret等于非Is the current CPU in an extended quiescent state?* No ordering, as we are sampling CPU-local information.
924  preempt_enable_notrace()
925  返回:ret
调用者
名称描述
ist_enterIn IST context, we explicitly disable preemption. This serves two* purposes: it makes it much less likely that we would accidentally* schedule in IST context and it will force a warning if we somehow* manage to schedule by accident.
do_error_trap
do_bounds
do_general_protection
do_int3
do_coprocessor_error
do_simd_coprocessor_error
do_device_not_available
do_iret_error
do_IRQdo_IRQ handles all normal device IRQ's (the special* SMP cross-CPU interrupts have their own specific* handlers).
kernel_text_address
notify_die
lockdep_rcu_suspicious
rcu_read_lock_held_common_read_lock_held_common() - might we be in RCU-sched read-side critical section?*@ret: Best guess answer if lockdep cannot be relied on* Returns true if lockdep must be ignored, in which case *ret contains* the best guess described below
__call_rcu_coreHandle any core-RCU processing required by a call_rcu() invocation.
__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.
__trace_stack
stack_trace_call
__ftrace_ops_list_func
ftrace_ops_assist_funcIf there's only one function registered but it does not support* recursion, needs RCU protection and/or requires per cpu handling, then* this function will be called by the mcount trampoline.
rcu_read_lock_read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
rcu_read_unlock_read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
rcu_read_lock_bh_read_lock_bh() - mark the beginning of an RCU-bh critical section* This is equivalent of rcu_read_lock(), but also disables softirqs
rcu_read_unlock_bh标记rcu锁结束的软中断
rcu_read_lock_sched_read_lock_sched() - mark the beginning of a RCU-sched critical section* This is equivalent of rcu_read_lock(), but disables preemption.* Read-side critical sections can also be introduced by anything else
rcu_read_unlock_sched标记rcu锁结束