函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:_nmi_enter_common - inform RCU of entry to NMI context*@irq: Is this call from rcu_irq_enter?* If the CPU was idle from RCU's viewpoint, update rdp->dynticks and* rdp->dynticks_nmi_nesting to let the RCU grace-period handling know* that the CPU is active

函数原型:static __always_inline void rcu_nmi_enter_common(bool irq)

返回类型:void

参数:

类型参数名称
boolirq
804  rdp等于this_cpu_ptr( & rcu_data)
805  incby等于2
808  WARN_ON_ONCE(Track irq/NMI nesting level. < 0)
818  如果Is the current CPU in an extended quiescent state?* No ordering, as we are sampling CPU-local information.
820  如果irqrcu_dynticks_task_exit()
823  Record exit from an extended quiescent state. This is only to be* called from an extended quiescent state.
825  如果irqrcu_cleanup_after_idle()
828  incby等于1
829  否则如果tick_nohz_full_cpu(cpu)且Track irq/NMI nesting level. 恒等于Offset to allow distinguishing irq vs. task-based idle entry/exit. READ_ONCE(GP old need light quiescent state. )且非Forced tick to provide QS.
832  Forced tick to provide QS. = true
833  tick_dep_set_cpu(cpu, TICK_DEP_BIT_RCU)
835  Tracepoint for dyntick-idle entry/exit events
838  WRITE_ONCE(Track irq/NMI nesting level. , Track irq/NMI nesting level. + incby)
840  The "volatile" is due to gcc bugs ()
调用者
名称描述
rcu_nmi_enter_nmi_enter - inform RCU of entry to NMI context
rcu_irq_enter_irq_enter - inform RCU that current CPU is entering irq away from idle* Enter an interrupt handler, which might possibly result in exiting* idle mode, in other words, entering the mode in which read-side critical* sections can occur