]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/kernel/watchdog.c
powerpc/watchdog: Moderate touch_nmi_watchdog overhead
[karo-tx-linux.git] / arch / powerpc / kernel / watchdog.c
index fda4d044d3264508b93e163978e336d1d188eef4..426dd34891d68b34991d92dcea64be61937d40a4 100644 (file)
@@ -263,9 +263,11 @@ static void wd_timer_fn(unsigned long data)
 
 void arch_touch_nmi_watchdog(void)
 {
+       unsigned long ticks = tb_ticks_per_usec * wd_timer_period_ms * 1000;
        int cpu = smp_processor_id();
 
-       watchdog_timer_interrupt(cpu);
+       if (get_tb() - per_cpu(wd_timer_tb, cpu) >= ticks)
+               watchdog_timer_interrupt(cpu);
 }
 EXPORT_SYMBOL(arch_touch_nmi_watchdog);