提交 2b9d7f23 编写于 作者: T Thomas Gleixner 提交者: Ingo Molnar

watchdog/core: Clean up stub functions

Having stub functions which take a full page is not helping the
readablility of code.

Condense them and move the doubled #ifdef variant into the SYSFS section.
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Reviewed-by: NDon Zickus <dzickus@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Chris Metcalf <cmetcalf@mellanox.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Siewior <bigeasy@linutronix.de>
Cc: Ulrich Obergfell <uobergfe@redhat.com>
Link: http://lkml.kernel.org/r/20170912194147.045545271@linutronix.deSigned-off-by: NIngo Molnar <mingo@kernel.org>
上级 01f0a027
...@@ -125,10 +125,7 @@ void __weak watchdog_nmi_disable(unsigned int cpu) ...@@ -125,10 +125,7 @@ void __weak watchdog_nmi_disable(unsigned int cpu)
* - sysctl_hardlockup_all_cpu_backtrace * - sysctl_hardlockup_all_cpu_backtrace
* - hardlockup_panic * - hardlockup_panic
*/ */
void __weak watchdog_nmi_reconfigure(void) void __weak watchdog_nmi_reconfigure(void) { }
{
}
#ifdef CONFIG_SOFTLOCKUP_DETECTOR #ifdef CONFIG_SOFTLOCKUP_DETECTOR
...@@ -136,6 +133,11 @@ void __weak watchdog_nmi_reconfigure(void) ...@@ -136,6 +133,11 @@ void __weak watchdog_nmi_reconfigure(void)
#define for_each_watchdog_cpu(cpu) \ #define for_each_watchdog_cpu(cpu) \
for_each_cpu_and((cpu), cpu_online_mask, &watchdog_cpumask) for_each_cpu_and((cpu), cpu_online_mask, &watchdog_cpumask)
/* Global variables, exported for sysctl */
unsigned int __read_mostly softlockup_panic =
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE;
int __read_mostly soft_watchdog_enabled;
static u64 __read_mostly sample_period; static u64 __read_mostly sample_period;
static DEFINE_PER_CPU(unsigned long, watchdog_touch_ts); static DEFINE_PER_CPU(unsigned long, watchdog_touch_ts);
...@@ -149,13 +151,9 @@ static DEFINE_PER_CPU(struct task_struct *, softlockup_task_ptr_saved); ...@@ -149,13 +151,9 @@ static DEFINE_PER_CPU(struct task_struct *, softlockup_task_ptr_saved);
static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts_saved); static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts_saved);
static unsigned long soft_lockup_nmi_warn; static unsigned long soft_lockup_nmi_warn;
unsigned int __read_mostly softlockup_panic =
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE;
static int __init softlockup_panic_setup(char *str) static int __init softlockup_panic_setup(char *str)
{ {
softlockup_panic = simple_strtoul(str, NULL, 0); softlockup_panic = simple_strtoul(str, NULL, 0);
return 1; return 1;
} }
__setup("softlockup_panic=", softlockup_panic_setup); __setup("softlockup_panic=", softlockup_panic_setup);
...@@ -593,44 +591,13 @@ static void watchdog_disable_all_cpus(void) ...@@ -593,44 +591,13 @@ static void watchdog_disable_all_cpus(void)
} }
} }
#ifdef CONFIG_SYSCTL #else /* CONFIG_SOFTLOCKUP_DETECTOR */
static int watchdog_update_cpus(void) static inline int watchdog_park_threads(void) { return 0; }
{ static inline void watchdog_unpark_threads(void) { }
return smpboot_update_cpumask_percpu_thread( static inline int watchdog_enable_all_cpus(void) { return 0; }
&watchdog_threads, &watchdog_cpumask); static inline void watchdog_disable_all_cpus(void) { }
} static inline void set_sample_period(void) { }
#endif #endif /* !CONFIG_SOFTLOCKUP_DETECTOR */
#else /* SOFTLOCKUP */
static int watchdog_park_threads(void)
{
return 0;
}
static void watchdog_unpark_threads(void)
{
}
static int watchdog_enable_all_cpus(void)
{
return 0;
}
static void watchdog_disable_all_cpus(void)
{
}
#ifdef CONFIG_SYSCTL
static int watchdog_update_cpus(void)
{
return 0;
}
#endif
static void set_sample_period(void)
{
}
#endif /* SOFTLOCKUP */
static void __lockup_detector_cleanup(void) static void __lockup_detector_cleanup(void)
{ {
...@@ -827,6 +794,15 @@ int proc_watchdog_thresh(struct ctl_table *table, int write, ...@@ -827,6 +794,15 @@ int proc_watchdog_thresh(struct ctl_table *table, int write,
return err; return err;
} }
static int watchdog_update_cpus(void)
{
if (IS_ENABLED(CONFIG_SOFTLOCKUP_DETECTOR)) {
return smpboot_update_cpumask_percpu_thread(&watchdog_threads,
&watchdog_cpumask);
}
return 0;
}
/* /*
* The cpumask is the mask of possible cpus that the watchdog can run * The cpumask is the mask of possible cpus that the watchdog can run
* on, not the mask of cpus it is actually running on. This allows the * on, not the mask of cpus it is actually running on. This allows the
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册