[PATCH v6 0/2] Add HARDLOCKUP_DETECTOR_PERF support for RISC-V

From: Yunhui Cui

Date: Thu Nov 13 2025 - 22:32:56 EST


After discussion [1],[2], hardlockup_perf cannot be completely replaced by
the hardlockup_buddy approach, so this patch is still being submitted.

v1->v2:
The contents of arch/arm64/watchdog_hld.c are directly consolidated into
kernel/watchdog_perf.c.


v2->v3:
Add CONFIG_WATCHDOG_PERF_ADJUST_PERIOD to enclose the period update logic,
select it by default on arm64 and riscv, without affecting other arches
like x86 and PPC.

v3->v4:
Place the line "select WATCHDOG_PERF_ADJUST_PERIOD if HARDLOCKUP_DETECTOR_PERF && CPU_FREQ"
in the Kconfig files for arm64 and riscv in one line, with no line breaks.

v4->v5:
Remove __weak from hw_nmi_get_sample_period()

v5->v6:
Removed the dependency on CPU_FREQ for WATCHDOG_PERF_ADJUST_PERIOD in Kconfig, which fixes the
issue reported at: https://lore.kernel.org/oe-kbuild-all/202510240701.eB6r97V3-lkp@xxxxxxxxx/

Link: https://lore.kernel.org/all/CAD=FV=UEhVCD6JehQi1wor2sSmtTLDyf=37xfo-DOTK1=u1xzA@xxxxxxxxxxxxxx/ [1]
Link: https://lore.kernel.org/all/20250916145122.416128-1-wangjinchao600@xxxxxxxxx/ [2]

Yunhui Cui (2):
watchdog: move arm64 watchdog_hld into common code
riscv: add HARDLOCKUP_DETECTOR_PERF support

arch/arm64/Kconfig | 1 +
arch/arm64/kernel/Makefile | 1 -
arch/arm64/kernel/watchdog_hld.c | 94 --------------------------------
arch/riscv/Kconfig | 3 +
drivers/perf/arm_pmu.c | 10 +++-
drivers/perf/riscv_pmu_sbi.c | 10 ++++
include/linux/perf/arm_pmu.h | 2 -
kernel/watchdog_perf.c | 83 ++++++++++++++++++++++++++++
lib/Kconfig.debug | 8 +++
9 files changed, 114 insertions(+), 98 deletions(-)
delete mode 100644 arch/arm64/kernel/watchdog_hld.c

--
2.39.5