Introduce a factor which would apply to the NMI watchdog timeout. This factor is a percentage added to the watchdog_tresh value. The value is set under the watchdog_mutex protection and lockup_detector_reconfigure() is called to recompute wd_panic_timeout_tb. Once the factor is set, it remains until it is set back to 0, which means no impact. Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220713154729.80789-4-ldufour@linux.ibm.com
22 lines
647 B
C
22 lines
647 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_NMI_H
|
|
#define _ASM_NMI_H
|
|
|
|
#ifdef CONFIG_PPC_WATCHDOG
|
|
extern void arch_touch_nmi_watchdog(void);
|
|
long soft_nmi_interrupt(struct pt_regs *regs);
|
|
void watchdog_nmi_set_timeout_pct(u64 pct);
|
|
#else
|
|
static inline void arch_touch_nmi_watchdog(void) {}
|
|
static inline void watchdog_nmi_set_timeout_pct(u64 pct) {}
|
|
#endif
|
|
|
|
#ifdef CONFIG_NMI_IPI
|
|
extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
|
|
bool exclude_self);
|
|
#define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
|
|
#endif
|
|
|
|
extern void hv_nmi_check_nonrecoverable(struct pt_regs *regs);
|
|
|
|
#endif /* _ASM_NMI_H */
|