arm64: Enable perf events based hard lockup detector
authorSumit Garg <sumit.garg@linaro.org>
Wed, 7 Oct 2020 08:51:43 +0000 (14:21 +0530)
committerWill Deacon <will@kernel.org>
Wed, 25 Nov 2020 15:18:39 +0000 (15:18 +0000)
commit367c820ef08082e68df8a3bc12e62393af21e4b5
tree9388278f38941afced7096bf9b16a0fe9c9a0530
parent6b46338f2210e37deeb3cdd40b04e3c597b47570
arm64: Enable perf events based hard lockup detector

With the recent feature added to enable perf events to use pseudo NMIs
as interrupts on platforms which support GICv3 or later, its now been
possible to enable hard lockup detector (or NMI watchdog) on arm64
platforms. So enable corresponding support.

One thing to note here is that normally lockup detector is initialized
just after the early initcalls but PMU on arm64 comes up much later as
device_initcall(). So we need to re-initialize lockup detection once
PMU has been initialized.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Alexandru Elisei <alexandru.elisei@arm.com>
Link: https://lore.kernel.org/r/1602060704-10921-1-git-send-email-sumit.garg@linaro.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/Kconfig
arch/arm64/kernel/perf_event.c
drivers/perf/arm_pmu.c
include/linux/perf/arm_pmu.h