Lines Matching +full:threshold +full:- +full:detector

1 // SPDX-License-Identifier: GPL-2.0
8 * detector, so thanks to Ingo for the initial implementation.
9 * Some chunks also taken from the old x86-specific nmi watchdog code, thanks
62 * Should we panic when a soft-lockup or hard-lockup occurs:
177 * Prevent multiple hard-lockup reports if one cpu is already in watchdog_hardlockup_check()
231 * These functions can be overridden based on the configured hardlockdup detector.
234 * softlockup watchdog start and stop. The detector must select the
242 * Watchdog-detector specific API.
250 return -ENODEV; in watchdog_hardlockup_probe()
254 * watchdog_hardlockup_stop - Stop the watchdog for reconfiguration
264 * watchdog_hardlockup_start - Start the watchdog after reconfiguration
270 * - watchdog_enabled
271 * - watchdog_thresh
272 * - watchdog_cpumask
277 * lockup_detector_update_enable - Update the sysctl enable bit
398 util = DIV_ROUND_UP(100 * (new_stat - old_stat), sample_period_16); in update_cpustat()
464 tail = (tail + NUM_HARDIRQ_REPORT - 1) % NUM_HARDIRQ_REPORT; in need_counting_irqs()
486 {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0} in print_irq_counts()
504 if (irq_counts_sorted[i].irq == -1) in print_irq_counts()
507 printk(KERN_CRIT "\t#%u: %-10u\tirq#%d\n", in print_irq_counts()
535 * Hard-lockup warnings should be triggered after just a few seconds. Soft-
537 * want a higher threshold for soft lockups than for hard lockups. So we couple
538 * the thresholds with a factor: we make the soft threshold twice the amount of
539 * time the hard threshold is.
563 * hardlockup detector generates a warning in set_sample_period()
582 * touch_softlockup_watchdog_sched - touch watchdog on scheduler stalls
585 * preventing the watchdog task from executing - e.g. the scheduler
649 return now - touch_ts; in is_softlockup()
654 /* watchdog detector functions */
659 * The watchdog feed function - touches the timestamp.
663 * for more than 2*watchdog_thresh seconds then the debug-printout
689 /* kick the softlockup detector */ in watchdog_timer_fn()
740 * Prevent multiple soft-lockup reports if one cpu is already in watchdog_timer_fn()
752 pr_emerg("BUG: soft lockup - CPU#%d stuck for %us! [%s:%d]\n", in watchdog_timer_fn()
754 current->comm, task_pid_nr(current)); in watchdog_timer_fn()
793 hrtimer->function = watchdog_timer_fn; in watchdog_enable()
799 /* Enable the hardlockup detector */ in watchdog_enable()
811 * Disable the hardlockup detector first. That prevents that a large in watchdog_disable()
813 * detector causes a false positive. in watchdog_disable()
896 * Create the watchdog infrastructure and configure the detector(s).
942 * lockup_detector_cleanup - Cleanup after cpu hotplug or sysctl changes
954 * lockup_detector_soft_poweroff - Interface to stop lockup detector(s)
956 * Special interface for parisc. It prevents lockup detector warnings from
977 * caller | table->data points to | 'which'
978 * -------------------|----------------------------------|-------------------------------
981 * -------------------|----------------------------------|-------------------------------
983 * -------------------|----------------------------------|-------------------------------
989 int err, old, *param = table->data; in proc_watchdog_common()
1028 return -ENOTSUPP; in proc_nmi_watchdog()
1206 if (ret == -ENODEV) in lockup_detector_delay_init()
1209 pr_info("Delayed init of the lockup detector failed: %d\n", ret); in lockup_detector_delay_init()
1221 * lockup_detector_retry_init - retry init lockup detector if possible.
1223 * Retry hardlockup detector init. It is useful when it requires some