diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/debug_locks.h | 5 | ||||
-rw-r--r-- | include/linux/sched.h | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/debug_locks.h b/include/linux/debug_locks.h index 1678a5de7013..f4a5871767f5 100644 --- a/include/linux/debug_locks.h +++ b/include/linux/debug_locks.h | |||
@@ -47,6 +47,7 @@ struct task_struct; | |||
47 | 47 | ||
48 | #ifdef CONFIG_LOCKDEP | 48 | #ifdef CONFIG_LOCKDEP |
49 | extern void debug_show_all_locks(void); | 49 | extern void debug_show_all_locks(void); |
50 | extern void __debug_show_held_locks(struct task_struct *task); | ||
50 | extern void debug_show_held_locks(struct task_struct *task); | 51 | extern void debug_show_held_locks(struct task_struct *task); |
51 | extern void debug_check_no_locks_freed(const void *from, unsigned long len); | 52 | extern void debug_check_no_locks_freed(const void *from, unsigned long len); |
52 | extern void debug_check_no_locks_held(struct task_struct *task); | 53 | extern void debug_check_no_locks_held(struct task_struct *task); |
@@ -55,6 +56,10 @@ static inline void debug_show_all_locks(void) | |||
55 | { | 56 | { |
56 | } | 57 | } |
57 | 58 | ||
59 | static inline void __debug_show_held_locks(struct task_struct *task) | ||
60 | { | ||
61 | } | ||
62 | |||
58 | static inline void debug_show_held_locks(struct task_struct *task) | 63 | static inline void debug_show_held_locks(struct task_struct *task) |
59 | { | 64 | { |
60 | } | 65 | } |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 288245f83bd4..0846f1f9e196 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -258,12 +258,17 @@ extern void account_process_tick(struct task_struct *task, int user); | |||
258 | extern void update_process_times(int user); | 258 | extern void update_process_times(int user); |
259 | extern void scheduler_tick(void); | 259 | extern void scheduler_tick(void); |
260 | 260 | ||
261 | extern void sched_show_task(struct task_struct *p); | ||
262 | |||
261 | #ifdef CONFIG_DETECT_SOFTLOCKUP | 263 | #ifdef CONFIG_DETECT_SOFTLOCKUP |
262 | extern void softlockup_tick(void); | 264 | extern void softlockup_tick(void); |
263 | extern void spawn_softlockup_task(void); | 265 | extern void spawn_softlockup_task(void); |
264 | extern void touch_softlockup_watchdog(void); | 266 | extern void touch_softlockup_watchdog(void); |
265 | extern void touch_all_softlockup_watchdogs(void); | 267 | extern void touch_all_softlockup_watchdogs(void); |
266 | extern int softlockup_thresh; | 268 | extern int softlockup_thresh; |
269 | extern unsigned long sysctl_hung_task_check_count; | ||
270 | extern unsigned long sysctl_hung_task_timeout_secs; | ||
271 | extern long sysctl_hung_task_warnings; | ||
267 | #else | 272 | #else |
268 | static inline void softlockup_tick(void) | 273 | static inline void softlockup_tick(void) |
269 | { | 274 | { |
@@ -1041,6 +1046,11 @@ struct task_struct { | |||
1041 | /* ipc stuff */ | 1046 | /* ipc stuff */ |
1042 | struct sysv_sem sysvsem; | 1047 | struct sysv_sem sysvsem; |
1043 | #endif | 1048 | #endif |
1049 | #ifdef CONFIG_DETECT_SOFTLOCKUP | ||
1050 | /* hung task detection */ | ||
1051 | unsigned long last_switch_timestamp; | ||
1052 | unsigned long last_switch_count; | ||
1053 | #endif | ||
1044 | /* CPU-specific state of this task */ | 1054 | /* CPU-specific state of this task */ |
1045 | struct thread_struct thread; | 1055 | struct thread_struct thread; |
1046 | /* filesystem information */ | 1056 | /* filesystem information */ |