Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 332fbdbc authored by Don Zickus's avatar Don Zickus Committed by Frederic Weisbecker
Browse files

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: default avatarDon 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: default avatarFrederic Weisbecker <fweisbec@gmail.com>
parent 58687acb
Loading
Loading
Loading
Loading
+3 −13
Original line number Diff line number Diff line
@@ -312,19 +312,15 @@ extern void scheduler_tick(void);
extern void sched_show_task(struct task_struct *p);

#ifdef CONFIG_DETECT_SOFTLOCKUP
extern void softlockup_tick(void);
extern void touch_softlockup_watchdog(void);
extern void touch_softlockup_watchdog_sync(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,
				  size_t *lenp, loff_t *ppos);
extern unsigned int  softlockup_panic;
extern int softlockup_thresh;
#else
static inline void softlockup_tick(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);
#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. */
#define __sched		__attribute__((__section__(".sched.text")))

+0 −9
Original line number Diff line number Diff line
@@ -817,15 +817,6 @@ static struct ctl_table kern_table[] = {
		.extra1		= &zero,
		.extra2		= &one,
	},
	{
		.procname	= "softlockup_thresh",
		.data		= &softlockup_thresh,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dosoftlockup_thresh,
		.extra1		= &neg_one,
		.extra2		= &sixty,
	},
#endif
#ifdef CONFIG_DETECT_HUNG_TASK
	{
+0 −1
Original line number Diff line number Diff line
@@ -1225,7 +1225,6 @@ void run_local_timers(void)
{
	hrtimer_run_queues();
	raise_softirq(TIMER_SOFTIRQ);
	softlockup_tick();
}

/*
+3 −32
Original line number Diff line number Diff line
@@ -119,13 +119,12 @@ static void __touch_watchdog(void)
	__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;
}
EXPORT_SYMBOL(touch_watchdog);

void touch_all_watchdog(void)
void touch_all_softlockup_watchdogs(void)
{
	int cpu;

@@ -140,35 +139,16 @@ void touch_all_watchdog(void)

void touch_nmi_watchdog(void)
{
	touch_watchdog();
	touch_softlockup_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)
{
	__raw_get_cpu_var(softlockup_touch_sync) = true;
	__raw_get_cpu_var(watchdog_touch_ts) = 0;
}

void softlockup_tick(void)
{
}

#ifdef CONFIG_PERF_EVENTS_NMI
/* watchdog detector functions */
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);
}

/* 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 */