tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 5d0c230f1de8c7515b6567d9afba1f196fb4e2f4 commit: 77c12fc95980d100fdc49e88a5727c242d0dfedc watchdog/hardlockup: add a "cpu" param to watchdog_hardlockup_check() date: 7 weeks ago config: x86_64-intel-next-customedconfig-intel_next_rpm_defconfig (https://download.01.org/0day-ci/archive/20230731/202307310955.pLZDhpnl-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce: (https://download.01.org/0day-ci/archive/20230731/202307310955.pLZDhpnl-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202307310955.pLZDhpnl-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): kernel/watchdog.c: In function 'watchdog_hardlockup_check': >> kernel/watchdog.c:162:1: warning: the frame size of 1248 bytes is larger than 1024 bytes [-Wframe-larger-than=] 162 | } | ^ vim +162 kernel/watchdog.c 81972551df9d16 Douglas Anderson 2023-05-19 116 77c12fc95980d1 Douglas Anderson 2023-05-19 117 void watchdog_hardlockup_check(unsigned int cpu, struct pt_regs *regs) 81972551df9d16 Douglas Anderson 2023-05-19 118 { 1610611aadc224 Douglas Anderson 2023-05-19 119 /* 1610611aadc224 Douglas Anderson 2023-05-19 120 * Check for a hardlockup by making sure the CPU's timer 1610611aadc224 Douglas Anderson 2023-05-19 121 * interrupt is incrementing. The timer interrupt should have 81972551df9d16 Douglas Anderson 2023-05-19 122 * fired multiple times before we overflow'd. If it hasn't 81972551df9d16 Douglas Anderson 2023-05-19 123 * then this is a good indication the cpu is stuck 81972551df9d16 Douglas Anderson 2023-05-19 124 */ 77c12fc95980d1 Douglas Anderson 2023-05-19 125 if (is_hardlockup(cpu)) { 1610611aadc224 Douglas Anderson 2023-05-19 126 unsigned int this_cpu = smp_processor_id(); 77c12fc95980d1 Douglas Anderson 2023-05-19 127 struct cpumask backtrace_mask = *cpu_online_mask; 81972551df9d16 Douglas Anderson 2023-05-19 128 1610611aadc224 Douglas Anderson 2023-05-19 129 /* Only print hardlockups once. */ 77c12fc95980d1 Douglas Anderson 2023-05-19 130 if (per_cpu(watchdog_hardlockup_warned, cpu)) 81972551df9d16 Douglas Anderson 2023-05-19 131 return; 81972551df9d16 Douglas Anderson 2023-05-19 132 77c12fc95980d1 Douglas Anderson 2023-05-19 133 pr_emerg("Watchdog detected hard LOCKUP on cpu %d\n", cpu); 81972551df9d16 Douglas Anderson 2023-05-19 134 print_modules(); 81972551df9d16 Douglas Anderson 2023-05-19 135 print_irqtrace_events(current); 77c12fc95980d1 Douglas Anderson 2023-05-19 136 if (cpu == this_cpu) { 81972551df9d16 Douglas Anderson 2023-05-19 137 if (regs) 81972551df9d16 Douglas Anderson 2023-05-19 138 show_regs(regs); 81972551df9d16 Douglas Anderson 2023-05-19 139 else 81972551df9d16 Douglas Anderson 2023-05-19 140 dump_stack(); 77c12fc95980d1 Douglas Anderson 2023-05-19 141 cpumask_clear_cpu(cpu, &backtrace_mask); 77c12fc95980d1 Douglas Anderson 2023-05-19 142 } else { 77c12fc95980d1 Douglas Anderson 2023-05-19 143 if (trigger_single_cpu_backtrace(cpu)) 77c12fc95980d1 Douglas Anderson 2023-05-19 144 cpumask_clear_cpu(cpu, &backtrace_mask); 77c12fc95980d1 Douglas Anderson 2023-05-19 145 } 81972551df9d16 Douglas Anderson 2023-05-19 146 81972551df9d16 Douglas Anderson 2023-05-19 147 /* 77c12fc95980d1 Douglas Anderson 2023-05-19 148 * Perform multi-CPU dump only once to avoid multiple 77c12fc95980d1 Douglas Anderson 2023-05-19 149 * hardlockups generating interleaving traces 81972551df9d16 Douglas Anderson 2023-05-19 150 */ 81972551df9d16 Douglas Anderson 2023-05-19 151 if (sysctl_hardlockup_all_cpu_backtrace && 1610611aadc224 Douglas Anderson 2023-05-19 152 !test_and_set_bit(0, &watchdog_hardlockup_all_cpu_dumped)) 77c12fc95980d1 Douglas Anderson 2023-05-19 153 trigger_cpumask_backtrace(&backtrace_mask); 81972551df9d16 Douglas Anderson 2023-05-19 154 81972551df9d16 Douglas Anderson 2023-05-19 155 if (hardlockup_panic) 81972551df9d16 Douglas Anderson 2023-05-19 156 nmi_panic(regs, "Hard LOCKUP"); 81972551df9d16 Douglas Anderson 2023-05-19 157 77c12fc95980d1 Douglas Anderson 2023-05-19 158 per_cpu(watchdog_hardlockup_warned, cpu) = true; 1610611aadc224 Douglas Anderson 2023-05-19 159 } else { 77c12fc95980d1 Douglas Anderson 2023-05-19 160 per_cpu(watchdog_hardlockup_warned, cpu) = false; 81972551df9d16 Douglas Anderson 2023-05-19 161 } 81972551df9d16 Douglas Anderson 2023-05-19 @162 } 81972551df9d16 Douglas Anderson 2023-05-19 163 :::::: The code at line 162 was first introduced by commit :::::: 81972551df9d168a8183b786ff4de06008469c2e watchdog/hardlockup: move perf hardlockup checking/panic to common watchdog.c :::::: TO: Douglas Anderson <dianders@xxxxxxxxxxxx> :::::: CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki