[PATCH v2 1/2] watchdog: move arm64 watchdog_hld into common code
Doug Anderson
dianders at chromium.org
Thu Sep 25 12:59:28 PDT 2025
Hi,
On Thu, Sep 25, 2025 at 1:48 AM Yunhui Cui <cuiyunhui at bytedance.com> wrote:
>
> @@ -17,6 +17,7 @@
> #include <linux/cpu_pm.h>
> #include <linux/export.h>
> #include <linux/kernel.h>
> +#include <linux/nmi.h>
> #include <linux/perf/arm_pmu.h>
> #include <linux/slab.h>
> #include <linux/sched/clock.h>
> @@ -696,10 +697,12 @@ static int armpmu_get_cpu_irq(struct arm_pmu *pmu, int cpu)
> return per_cpu(hw_events->irq, cpu);
> }
>
> -bool arm_pmu_irq_is_nmi(void)
> +#ifdef CONFIG_HARDLOCKUP_DETECTOR_PERF
> +bool arch_perf_nmi_is_available(void)
> {
> return has_nmi;
> }
> +#endif
Should the previous comment move here, AKA:
/*
* hardlockup_detector_perf_init() will success even if Pseudo-NMI turns off,
* however, the pmu interrupts will act like a normal interrupt instead of
* NMI and the hardlockup detector would be broken.
*/
> +static int __init init_watchdog_freq_notifier(void)
> +{
> + return cpufreq_register_notifier(&watchdog_freq_notifier,
> + CPUFREQ_POLICY_NOTIFIER);
I think you need to do something to prevent this from happening on any
platforms that override hw_nmi_get_sample_period(), right? These
cpufreq notifiers will be useless in that case...
-Doug
More information about the linux-riscv
mailing list