Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\watchdog_hld.c Create Date:2022-07-28 11:45:44
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Callback function for perf event subsystem

Proto:static void watchdog_overflow_callback(struct perf_event *event, struct perf_sample_data *data, struct pt_regs *regs)

Type:void

Parameter:

TypeParameterName
struct perf_event *event
struct perf_sample_data *data
struct pt_regs *regs
115  interrupts = 0
117  If (Operations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(watchdog_nmi_touch) == true) Then
118  __this_cpu_write(watchdog_nmi_touch, false)
119  Return
122  If Not watchdog_check_timestamp() Then Return
131  If is_hardlockup() Then
132  this_cpu = smp_processor_id()
135  If (Operations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(hard_watchdog_warn) == true) Then Return
138  These can be used to print at the various log levels.* All of these will print unconditionally, although note that pr_debug()* and other debug macros are compiled out unless either DEBUG is defined* or CONFIG_DYNAMIC_DEBUG is set.("Watchdog detected hard LOCKUP on cpu %d\n", this_cpu)
140  Don't grab lock, we're oopsing.
141  print_irqtrace_events(current process)
142  If regs Then show_regs(regs)
144  Else dump_stack()
151  If sysctl_hardlockup_all_cpu_backtrace && Not st_and_set_bit - Set a bit and return its old value*@nr: Bit to set*@addr: Address to count from* This is an atomic fully-ordered operation (implied full memory barrier). Then trigger_allbutself_cpu_backtrace()
155  If hardlockup_panic Then A variant of panic() called from NMI context. We return if we've already* panicked on this CPU. If another CPU already panicked, loop in* nmi_panic_self_stop() which can provide architecture dependent code such* as saving register state for crash dump.
158  __this_cpu_write(hard_watchdog_warn, true)
159  Return
162  __this_cpu_write(hard_watchdog_warn, false)
163  Return