Messages in this thread Patch in this message | | | From | Ricardo Neri <> | Subject | [RFC PATCH 23/23] watchdog/hardlockup: Activate the HPET-based lockup detector | Date | Tue, 12 Jun 2018 17:57:43 -0700 |
| |
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(+)
diff --git a/kernel/watchdog.c b/kernel/watchdog.c index b5ce6e4..e2cc6c0 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -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(); -- 2.7.4
| |