]> www.infradead.org Git - users/hch/misc.git/commit
watchdog: handle the ENODEV failure case of lockup_detector_delay_init() separately
authorWaiman Long <longman@redhat.com>
Fri, 2 Aug 2024 15:16:21 +0000 (11:16 -0400)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 2 Sep 2024 03:43:32 +0000 (20:43 -0700)
commit97cf8f5f93f8419d5e7902b89194530466e73bcd
tree4002f89f4c4a3f3a12f4f3def254d608d437f1a0
parente0ba72e3a4422c4255fa80191a637d7c65ef4c59
watchdog: handle the ENODEV failure case of lockup_detector_delay_init() separately

When watchdog_hardlockup_probe() is being called by
lockup_detector_delay_init(), an error return of -ENODEV will happen
for the arm64 arch when arch_perf_nmi_is_available() returns false. This
means that NMI is not usable by the hard lockup detector and so has to
be disabled. This can be considered a deficiency in that particular
arm64 chip, but there is nothing we can do about it.  That also means
the following error will always be reported when the kernel boot up.

  watchdog: Delayed init of the lockup detector failed: -19

The word "failed" itself has a connotation that there is something
wrong with the kernel which is not really the case here. Handle this
special ENODEV case separately and explain the reason behind disabling
hard lockup detector without causing anxiety for those users who read
the above message and wonder about it.

Link: https://lkml.kernel.org/r/20240802151621.617244-1-longman@redhat.com
Signed-off-by: Waiman Long <longman@redhat.com>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Joel Granados <j.granados@samsung.com>
Cc: Li Zhe <lizhe.67@bytedance.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Thomas Weißschuh <linux@weissschuh.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
kernel/watchdog.c