@@ -149,6 +149,21 @@ int __weak __init watchdog_nmi_probe(void)
{
int ret = -ENODEV;
+ /*
+ * Try first with the HPET hardlockup detector. It will only
+ * succeed if selected at build time and the nmi_watchdog
+ * command-line parameter is configured. This ensure that the
+ * perf-based detector is used by default, if selected at
+ * build time.
+ */
+ if (IS_ENABLED(CONFIG_HARDLOCKUP_DETECTOR_HPET))
+ ret = hardlockup_detector_hpet_ops.init();
+
+ if (!ret) {
+ nmi_wd_ops = &hardlockup_detector_hpet_ops;
+ return ret;
+ }
+
if (IS_ENABLED(CONFIG_HARDLOCKUP_DETECTOR_PERF))
ret = hardlockup_detector_perf_ops.init();
Now that the implementation of the HPET-based hardlockup detector is complete, enable it. It will be used only if it can be initialized successfully. Otherwise, the perf-based detector will be used. Cc: Ashok Raj <ashok.raj@intel.com> Cc: Andi Kleen <andi.kleen@intel.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Borislav Petkov <bp@suse.de> Cc: Jacob Pan <jacob.jun.pan@intel.com> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Cc: Don Zickus <dzickus@redhat.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Frederic Weisbecker <frederic@kernel.org> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Babu Moger <babu.moger@oracle.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Philippe Ombredanne <pombredanne@nexb.com> Cc: Colin Ian King <colin.king@canonical.com> Cc: Byungchul Park <byungchul.park@lge.com> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Cc: "Luis R. Rodriguez" <mcgrof@kernel.org> Cc: Waiman Long <longman@redhat.com> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Christoffer Dall <cdall@linaro.org> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: Kai-Heng Feng <kai.heng.feng@canonical.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: David Rientjes <rientjes@google.com> Cc: "Ravi V. Shankar" <ravi.v.shankar@intel.com> Cc: x86@kernel.org Cc: iommu@lists.linux-foundation.org Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> --- kernel/watchdog.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)