lockup_detector: Touch_softlockup cleanups and softlockup_tick removal
Just some code cleanup to make touch_softlockup clearer and remove the softlockup_tick function as it is no longer needed. Also remove the /proc softlockup_thres call as it has been changed to watchdog_thres. Signed-off-by: Don Zickus <dzickus@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Cyrill Gorcunov <gorcunov@gmail.com> Cc: Eric Paris <eparis@redhat.com> Cc: Randy Dunlap <randy.dunlap@oracle.com> LKML-Reference: <1273266711-18706-3-git-send-email-dzickus@redhat.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
This commit is contained in:
parent
58687acba5
commit
332fbdbca3
@ -312,19 +312,15 @@ extern void scheduler_tick(void);
|
|||||||
extern void sched_show_task(struct task_struct *p);
|
extern void sched_show_task(struct task_struct *p);
|
||||||
|
|
||||||
#ifdef CONFIG_DETECT_SOFTLOCKUP
|
#ifdef CONFIG_DETECT_SOFTLOCKUP
|
||||||
extern void softlockup_tick(void);
|
|
||||||
extern void touch_softlockup_watchdog(void);
|
extern void touch_softlockup_watchdog(void);
|
||||||
extern void touch_softlockup_watchdog_sync(void);
|
extern void touch_softlockup_watchdog_sync(void);
|
||||||
extern void touch_all_softlockup_watchdogs(void);
|
extern void touch_all_softlockup_watchdogs(void);
|
||||||
extern int proc_dosoftlockup_thresh(struct ctl_table *table, int write,
|
extern int proc_dowatchdog_thresh(struct ctl_table *table, int write,
|
||||||
void __user *buffer,
|
void __user *buffer,
|
||||||
size_t *lenp, loff_t *ppos);
|
size_t *lenp, loff_t *ppos);
|
||||||
extern unsigned int softlockup_panic;
|
extern unsigned int softlockup_panic;
|
||||||
extern int softlockup_thresh;
|
extern int softlockup_thresh;
|
||||||
#else
|
#else
|
||||||
static inline void softlockup_tick(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
static inline void touch_softlockup_watchdog(void)
|
static inline void touch_softlockup_watchdog(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -346,12 +342,6 @@ extern int proc_dohung_task_timeout_secs(struct ctl_table *table, int write,
|
|||||||
size_t *lenp, loff_t *ppos);
|
size_t *lenp, loff_t *ppos);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_LOCKUP_DETECTOR
|
|
||||||
extern int proc_dowatchdog_thresh(struct ctl_table *table, int write,
|
|
||||||
void __user *buffer,
|
|
||||||
size_t *lenp, loff_t *ppos);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Attach to any functions which should be ignored in wchan output. */
|
/* Attach to any functions which should be ignored in wchan output. */
|
||||||
#define __sched __attribute__((__section__(".sched.text")))
|
#define __sched __attribute__((__section__(".sched.text")))
|
||||||
|
|
||||||
|
@ -817,15 +817,6 @@ static struct ctl_table kern_table[] = {
|
|||||||
.extra1 = &zero,
|
.extra1 = &zero,
|
||||||
.extra2 = &one,
|
.extra2 = &one,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
.procname = "softlockup_thresh",
|
|
||||||
.data = &softlockup_thresh,
|
|
||||||
.maxlen = sizeof(int),
|
|
||||||
.mode = 0644,
|
|
||||||
.proc_handler = proc_dosoftlockup_thresh,
|
|
||||||
.extra1 = &neg_one,
|
|
||||||
.extra2 = &sixty,
|
|
||||||
},
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_DETECT_HUNG_TASK
|
#ifdef CONFIG_DETECT_HUNG_TASK
|
||||||
{
|
{
|
||||||
|
@ -1225,7 +1225,6 @@ void run_local_timers(void)
|
|||||||
{
|
{
|
||||||
hrtimer_run_queues();
|
hrtimer_run_queues();
|
||||||
raise_softirq(TIMER_SOFTIRQ);
|
raise_softirq(TIMER_SOFTIRQ);
|
||||||
softlockup_tick();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -119,13 +119,12 @@ static void __touch_watchdog(void)
|
|||||||
__get_cpu_var(watchdog_touch_ts) = get_timestamp(this_cpu);
|
__get_cpu_var(watchdog_touch_ts) = get_timestamp(this_cpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
void touch_watchdog(void)
|
void touch_softlockup_watchdog(void)
|
||||||
{
|
{
|
||||||
__get_cpu_var(watchdog_touch_ts) = 0;
|
__get_cpu_var(watchdog_touch_ts) = 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(touch_watchdog);
|
|
||||||
|
|
||||||
void touch_all_watchdog(void)
|
void touch_all_softlockup_watchdogs(void)
|
||||||
{
|
{
|
||||||
int cpu;
|
int cpu;
|
||||||
|
|
||||||
@ -140,35 +139,16 @@ void touch_all_watchdog(void)
|
|||||||
|
|
||||||
void touch_nmi_watchdog(void)
|
void touch_nmi_watchdog(void)
|
||||||
{
|
{
|
||||||
touch_watchdog();
|
touch_softlockup_watchdog();
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(touch_nmi_watchdog);
|
EXPORT_SYMBOL(touch_nmi_watchdog);
|
||||||
|
|
||||||
void touch_all_nmi_watchdog(void)
|
|
||||||
{
|
|
||||||
touch_all_watchdog();
|
|
||||||
}
|
|
||||||
|
|
||||||
void touch_softlockup_watchdog(void)
|
|
||||||
{
|
|
||||||
touch_watchdog();
|
|
||||||
}
|
|
||||||
|
|
||||||
void touch_all_softlockup_watchdogs(void)
|
|
||||||
{
|
|
||||||
touch_all_watchdog();
|
|
||||||
}
|
|
||||||
|
|
||||||
void touch_softlockup_watchdog_sync(void)
|
void touch_softlockup_watchdog_sync(void)
|
||||||
{
|
{
|
||||||
__raw_get_cpu_var(softlockup_touch_sync) = true;
|
__raw_get_cpu_var(softlockup_touch_sync) = true;
|
||||||
__raw_get_cpu_var(watchdog_touch_ts) = 0;
|
__raw_get_cpu_var(watchdog_touch_ts) = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void softlockup_tick(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_PERF_EVENTS_NMI
|
#ifdef CONFIG_PERF_EVENTS_NMI
|
||||||
/* watchdog detector functions */
|
/* watchdog detector functions */
|
||||||
static int is_hardlockup(int cpu)
|
static int is_hardlockup(int cpu)
|
||||||
@ -522,15 +502,6 @@ int proc_dowatchdog_thresh(struct ctl_table *table, int write,
|
|||||||
{
|
{
|
||||||
return proc_dointvec_minmax(table, write, buffer, lenp, ppos);
|
return proc_dointvec_minmax(table, write, buffer, lenp, ppos);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* stub functions */
|
|
||||||
int proc_dosoftlockup_thresh(struct ctl_table *table, int write,
|
|
||||||
void __user *buffer,
|
|
||||||
size_t *lenp, loff_t *ppos)
|
|
||||||
{
|
|
||||||
return proc_dowatchdog_thresh(table, write, buffer, lenp, ppos);
|
|
||||||
}
|
|
||||||
/* end of stub functions */
|
|
||||||
#endif /* CONFIG_SYSCTL */
|
#endif /* CONFIG_SYSCTL */
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user