diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-04-24 04:11:18 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-24 04:11:23 -0400 |
commit | 416dfdcdb894432547ead4fcb9fa6a36b396059e (patch) | |
tree | 8033fdda07397a59c5fa98c88927040906ce6c1a /include/linux/sched.h | |
parent | 56449f437add737a1e5e1cb7e00f63ac8ead1938 (diff) | |
parent | 091069740304c979f957ceacec39c461d0192158 (diff) |
Merge commit 'v2.6.30-rc3' into tracing/hw-branch-tracing
Conflicts:
arch/x86/kernel/ptrace.c
Merge reason: fix the conflict above, and also pick up the CONFIG_BROKEN
dependency change from upstream so that we can remove it
here.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 451186a22ef5..f4e3985c8593 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -205,7 +205,8 @@ extern unsigned long long time_sync_thresh; | |||
205 | #define task_is_stopped_or_traced(task) \ | 205 | #define task_is_stopped_or_traced(task) \ |
206 | ((task->state & (__TASK_STOPPED | __TASK_TRACED)) != 0) | 206 | ((task->state & (__TASK_STOPPED | __TASK_TRACED)) != 0) |
207 | #define task_contributes_to_load(task) \ | 207 | #define task_contributes_to_load(task) \ |
208 | ((task->state & TASK_UNINTERRUPTIBLE) != 0) | 208 | ((task->state & TASK_UNINTERRUPTIBLE) != 0 && \ |
209 | (task->flags & PF_FROZEN) == 0) | ||
209 | 210 | ||
210 | #define __set_task_state(tsk, state_value) \ | 211 | #define __set_task_state(tsk, state_value) \ |
211 | do { (tsk)->state = (state_value); } while (0) | 212 | do { (tsk)->state = (state_value); } while (0) |
@@ -300,17 +301,11 @@ extern int proc_dosoftlockup_thresh(struct ctl_table *table, int write, | |||
300 | struct file *filp, void __user *buffer, | 301 | struct file *filp, void __user *buffer, |
301 | size_t *lenp, loff_t *ppos); | 302 | size_t *lenp, loff_t *ppos); |
302 | extern unsigned int softlockup_panic; | 303 | extern unsigned int softlockup_panic; |
303 | extern unsigned long sysctl_hung_task_check_count; | ||
304 | extern unsigned long sysctl_hung_task_timeout_secs; | ||
305 | extern unsigned long sysctl_hung_task_warnings; | ||
306 | extern int softlockup_thresh; | 304 | extern int softlockup_thresh; |
307 | #else | 305 | #else |
308 | static inline void softlockup_tick(void) | 306 | static inline void softlockup_tick(void) |
309 | { | 307 | { |
310 | } | 308 | } |
311 | static inline void spawn_softlockup_task(void) | ||
312 | { | ||
313 | } | ||
314 | static inline void touch_softlockup_watchdog(void) | 309 | static inline void touch_softlockup_watchdog(void) |
315 | { | 310 | { |
316 | } | 311 | } |
@@ -319,6 +314,15 @@ static inline void touch_all_softlockup_watchdogs(void) | |||
319 | } | 314 | } |
320 | #endif | 315 | #endif |
321 | 316 | ||
317 | #ifdef CONFIG_DETECT_HUNG_TASK | ||
318 | extern unsigned int sysctl_hung_task_panic; | ||
319 | extern unsigned long sysctl_hung_task_check_count; | ||
320 | extern unsigned long sysctl_hung_task_timeout_secs; | ||
321 | extern unsigned long sysctl_hung_task_warnings; | ||
322 | extern int proc_dohung_task_timeout_secs(struct ctl_table *table, int write, | ||
323 | struct file *filp, void __user *buffer, | ||
324 | size_t *lenp, loff_t *ppos); | ||
325 | #endif | ||
322 | 326 | ||
323 | /* Attach to any functions which should be ignored in wchan output. */ | 327 | /* Attach to any functions which should be ignored in wchan output. */ |
324 | #define __sched __attribute__((__section__(".sched.text"))) | 328 | #define __sched __attribute__((__section__(".sched.text"))) |
@@ -1248,9 +1252,8 @@ struct task_struct { | |||
1248 | /* ipc stuff */ | 1252 | /* ipc stuff */ |
1249 | struct sysv_sem sysvsem; | 1253 | struct sysv_sem sysvsem; |
1250 | #endif | 1254 | #endif |
1251 | #ifdef CONFIG_DETECT_SOFTLOCKUP | 1255 | #ifdef CONFIG_DETECT_HUNG_TASK |
1252 | /* hung task detection */ | 1256 | /* hung task detection */ |
1253 | unsigned long last_switch_timestamp; | ||
1254 | unsigned long last_switch_count; | 1257 | unsigned long last_switch_count; |
1255 | #endif | 1258 | #endif |
1256 | /* CPU-specific state of this task */ | 1259 | /* CPU-specific state of this task */ |
@@ -1287,6 +1290,11 @@ struct task_struct { | |||
1287 | /* Protection of (de-)allocation: mm, files, fs, tty, keyrings */ | 1290 | /* Protection of (de-)allocation: mm, files, fs, tty, keyrings */ |
1288 | spinlock_t alloc_lock; | 1291 | spinlock_t alloc_lock; |
1289 | 1292 | ||
1293 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
1294 | /* IRQ handler threads */ | ||
1295 | struct irqaction *irqaction; | ||
1296 | #endif | ||
1297 | |||
1290 | /* Protection of the PI data structures: */ | 1298 | /* Protection of the PI data structures: */ |
1291 | spinlock_t pi_lock; | 1299 | spinlock_t pi_lock; |
1292 | 1300 | ||