aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-04-07 17:11:07 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-07 17:11:07 -0400
commit1551260d1f0fb1d23f264582092b862fce5e2dbd (patch)
treed06a0d20c74adda44a78bc2dc9a3e3016de380d6 /include/linux/sched.h
parentc93f216b5b985a12a18323e5ca2eb01db3d2f000 (diff)
parent5e34437840d33554f69380584311743b39e8fbeb (diff)
Merge branch 'core/softlockup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core/softlockup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softlockup: make DETECT_HUNG_TASK default depend on DETECT_SOFTLOCKUP softlockup: move 'one' to the softlockup section in sysctl.c softlockup: ensure the task has been switched out once softlockup: remove timestamp checking from hung_task softlockup: convert read_lock in hung_task to rcu_read_lock softlockup: check all tasks in hung_task softlockup: remove unused definition for spawn_softlockup_task softlockup: fix potential race in hung_task when resetting timeout softlockup: fix to allow compiling with !DETECT_HUNG_TASK softlockup: decouple hung tasks check from softlockup detection
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index c96140210d1c..98e1fe51601d 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -300,17 +300,11 @@ extern int proc_dosoftlockup_thresh(struct ctl_table *table, int write,
300 struct file *filp, void __user *buffer, 300 struct file *filp, void __user *buffer,
301 size_t *lenp, loff_t *ppos); 301 size_t *lenp, loff_t *ppos);
302extern unsigned int softlockup_panic; 302extern unsigned int softlockup_panic;
303extern unsigned long sysctl_hung_task_check_count;
304extern unsigned long sysctl_hung_task_timeout_secs;
305extern unsigned long sysctl_hung_task_warnings;
306extern int softlockup_thresh; 303extern int softlockup_thresh;
307#else 304#else
308static inline void softlockup_tick(void) 305static inline void softlockup_tick(void)
309{ 306{
310} 307}
311static inline void spawn_softlockup_task(void)
312{
313}
314static inline void touch_softlockup_watchdog(void) 308static inline void touch_softlockup_watchdog(void)
315{ 309{
316} 310}
@@ -319,6 +313,15 @@ static inline void touch_all_softlockup_watchdogs(void)
319} 313}
320#endif 314#endif
321 315
316#ifdef CONFIG_DETECT_HUNG_TASK
317extern unsigned int sysctl_hung_task_panic;
318extern unsigned long sysctl_hung_task_check_count;
319extern unsigned long sysctl_hung_task_timeout_secs;
320extern unsigned long sysctl_hung_task_warnings;
321extern int proc_dohung_task_timeout_secs(struct ctl_table *table, int write,
322 struct file *filp, void __user *buffer,
323 size_t *lenp, loff_t *ppos);
324#endif
322 325
323/* Attach to any functions which should be ignored in wchan output. */ 326/* Attach to any functions which should be ignored in wchan output. */
324#define __sched __attribute__((__section__(".sched.text"))) 327#define __sched __attribute__((__section__(".sched.text")))
@@ -1255,9 +1258,8 @@ struct task_struct {
1255/* ipc stuff */ 1258/* ipc stuff */
1256 struct sysv_sem sysvsem; 1259 struct sysv_sem sysvsem;
1257#endif 1260#endif
1258#ifdef CONFIG_DETECT_SOFTLOCKUP 1261#ifdef CONFIG_DETECT_HUNG_TASK
1259/* hung task detection */ 1262/* hung task detection */
1260 unsigned long last_switch_timestamp;
1261 unsigned long last_switch_count; 1263 unsigned long last_switch_count;
1262#endif 1264#endif
1263/* CPU-specific state of this task */ 1265/* CPU-specific state of this task */