Loading kernel/watchdog.c +12 −2 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <linux/kvm_para.h> #include <linux/kvm_para.h> #include <linux/perf_event.h> #include <linux/perf_event.h> #include <linux/kthread.h> #include <linux/kthread.h> #include <soc/qcom/watchdog.h> /* /* * The run state of the lockup detectors is controlled by the content of the * The run state of the lockup detectors is controlled by the content of the Loading Loading @@ -364,8 +365,11 @@ static void watchdog_check_hardlockup_other_cpu(void) if (per_cpu(hard_watchdog_warn, next_cpu) == true) if (per_cpu(hard_watchdog_warn, next_cpu) == true) return; return; if (hardlockup_panic) if (hardlockup_panic) { panic("Watchdog detected hard LOCKUP on cpu %u", next_cpu); pr_err("Watchdog detected hard LOCKUP on cpu %u", next_cpu); msm_trigger_wdog_bite(); } else else WARN(1, "Watchdog detected hard LOCKUP on cpu %u", next_cpu); WARN(1, "Watchdog detected hard LOCKUP on cpu %u", next_cpu); Loading Loading @@ -427,6 +431,9 @@ static void watchdog_overflow_callback(struct perf_event *event, return; return; pr_emerg("Watchdog detected hard LOCKUP on cpu %d", this_cpu); pr_emerg("Watchdog detected hard LOCKUP on cpu %d", this_cpu); if (hardlockup_panic) msm_trigger_wdog_bite(); print_modules(); print_modules(); print_irqtrace_events(current); print_irqtrace_events(current); if (regs) if (regs) Loading Loading @@ -549,6 +556,9 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) pr_emerg("BUG: soft lockup - CPU#%d stuck for %us! [%s:%d]\n", pr_emerg("BUG: soft lockup - CPU#%d stuck for %us! [%s:%d]\n", smp_processor_id(), duration, smp_processor_id(), duration, current->comm, task_pid_nr(current)); current->comm, task_pid_nr(current)); if (softlockup_panic) msm_trigger_wdog_bite(); __this_cpu_write(softlockup_task_ptr_saved, current); __this_cpu_write(softlockup_task_ptr_saved, current); print_modules(); print_modules(); print_irqtrace_events(current); print_irqtrace_events(current); Loading Loading
kernel/watchdog.c +12 −2 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <linux/kvm_para.h> #include <linux/kvm_para.h> #include <linux/perf_event.h> #include <linux/perf_event.h> #include <linux/kthread.h> #include <linux/kthread.h> #include <soc/qcom/watchdog.h> /* /* * The run state of the lockup detectors is controlled by the content of the * The run state of the lockup detectors is controlled by the content of the Loading Loading @@ -364,8 +365,11 @@ static void watchdog_check_hardlockup_other_cpu(void) if (per_cpu(hard_watchdog_warn, next_cpu) == true) if (per_cpu(hard_watchdog_warn, next_cpu) == true) return; return; if (hardlockup_panic) if (hardlockup_panic) { panic("Watchdog detected hard LOCKUP on cpu %u", next_cpu); pr_err("Watchdog detected hard LOCKUP on cpu %u", next_cpu); msm_trigger_wdog_bite(); } else else WARN(1, "Watchdog detected hard LOCKUP on cpu %u", next_cpu); WARN(1, "Watchdog detected hard LOCKUP on cpu %u", next_cpu); Loading Loading @@ -427,6 +431,9 @@ static void watchdog_overflow_callback(struct perf_event *event, return; return; pr_emerg("Watchdog detected hard LOCKUP on cpu %d", this_cpu); pr_emerg("Watchdog detected hard LOCKUP on cpu %d", this_cpu); if (hardlockup_panic) msm_trigger_wdog_bite(); print_modules(); print_modules(); print_irqtrace_events(current); print_irqtrace_events(current); if (regs) if (regs) Loading Loading @@ -549,6 +556,9 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) pr_emerg("BUG: soft lockup - CPU#%d stuck for %us! [%s:%d]\n", pr_emerg("BUG: soft lockup - CPU#%d stuck for %us! [%s:%d]\n", smp_processor_id(), duration, smp_processor_id(), duration, current->comm, task_pid_nr(current)); current->comm, task_pid_nr(current)); if (softlockup_panic) msm_trigger_wdog_bite(); __this_cpu_write(softlockup_task_ptr_saved, current); __this_cpu_write(softlockup_task_ptr_saved, current); print_modules(); print_modules(); print_irqtrace_events(current); print_irqtrace_events(current); Loading