Unverified Commit 13d5c424 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!6731 [OLK-6.6] watchdog: Fix call trace when failed to initialize sdei



Merge Pull Request from: @liujie-248683921 
 
1509d06c ("init: only move down lockup_detector_init() when sdei_watchdog is enabled")

In the above commit, sdei_watchdog needs to move down
lockup_detector_init (), while nmi_watchdog does not. So when
sdei_watchdog fails to be initialized, nmi_watchdog should not be
initialized.

[    0.706631][    T1] SDEI NMI watchdog: Disable SDEI NMI Watchdog in VM
[    0.707405][    T1] ------------[ cut here ]------------
[    0.708020][    T1] WARNING: CPU: 0 PID: 1 at kernel/watchdog_perf.c:117 hardlockup_detector_event_create+0x24/0x108
[    0.709230][    T1] Modules linked in:
[    0.709665][    T1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.6.0 #1
[    0.710700][    T1] Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015
[    0.711625][    T1] pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.712547][    T1] pc : hardlockup_detector_event_create+0x24/0x108
[    0.713316][    T1] lr : watchdog_hardlockup_probe+0x28/0xa8
[    0.714010][    T1] sp : ffff8000831cbdc0
[    0.714501][    T1] pmr_save: 000000e0
[    0.714957][    T1] x29: ffff8000831cbdc0 x28: 0000000000000000 x27: 0000000000000000
[    0.715899][    T1] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
[    0.716839][    T1] x23: 0000000000000000 x22: 0000000000000000 x21: ffff80008218fab0
[    0.717775][    T1] x20: ffff8000821af000 x19: ffff0000c0261900 x18: 0000000000000020
[    0.718713][    T1] x17: 00000000cb551c45 x16: ffff800082625e48 x15: ffffffffffffffff
[    0.719663][    T1] x14: 0000000000000000 x13: 205d315420202020 x12: 5b5d313336363037
[    0.720607][    T1] x11: 00000000ffff7fff x10: 00000000ffff7fff x9 : ffff800081b5f630
[    0.721590][    T1] x8 : 00000000000bffe8 x7 : c0000000ffff7fff x6 : 000000000005fff4
[    0.722528][    T1] x5 : 00000000002bffa8 x4 : 0000000000000000 x3 : 0000000000000000
[    0.723482][    T1] x2 : 0000000000000000 x1 : 0000000000000140 x0 : ffff0000c02c0000
[    0.724426][    T1] Call trace:
[    0.724808][    T1]  hardlockup_detector_event_create+0x24/0x108
[    0.725535][    T1]  watchdog_hardlockup_probe+0x28/0xa8
[    0.726174][    T1]  lockup_detector_init+0x110/0x158
[    0.726776][    T1]  kernel_init_freeable+0x208/0x288
[    0.727387][    T1]  kernel_init+0x2c/0x200
[    0.727902][    T1]  ret_from_fork+0x10/0x20
[    0.728420][    T1] ---[ end trace 0000000000000000 ]---

Fixes: f61b1153 ("watchdog: Support watchdog_sdei coexist with existing watchdogs")
Signed-off-by: default avatarYicong Yang <yangyicong@hisilicon.com>
Signed-off-by: default avatarJie Liu <liujie375@h-partners.com>
 
 
Link:https://gitee.com/openeuler/kernel/pulls/6731

 

Reviewed-by: default avatarXu Kuohai <xukuohai@huawei.com>
Signed-off-by: default avatarXie XiuQi <xiexiuqi@huawei.com>
parents 7de1e2ce 20c2368e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1030,7 +1030,7 @@ void __init lockup_detector_init(void)
		     housekeeping_cpumask(HK_TYPE_TIMER));

	if ((!disable_sdei_nmi_watchdog && !sdei_watchdog_hardlockup_probe()) ||
	    !watchdog_hardlockup_probe())
	    (disable_sdei_nmi_watchdog && !watchdog_hardlockup_probe()))
		watchdog_hardlockup_available = true;
	else
		allow_lockup_detector_init_retry = true;