diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-02-03 05:16:09 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-03-02 19:43:43 -0500 |
commit | d3d1e320d43a7bad9603acf0214406a1e8795c63 (patch) | |
tree | 564419d5d700b0da73c16a336dd9e5e2e1ff50a1 /include/linux/sched/debug.h | |
parent | 752b3ca734cbc17c0456b846ae886c0ed39c5703 (diff) |
sched/headers: Move debugging functions from <linux/sched.h> to <linux/sched/debug.h>
Collect the various scheduler and task state debugging APIs scattered
around <linux/sched.h> into the new <linux/sched/debug.h> header.
In particular the show_regs() and show_stack() prototype affects many files,
update them.
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/sched/debug.h')
-rw-r--r-- | include/linux/sched/debug.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/include/linux/sched/debug.h b/include/linux/sched/debug.h index 55bc0cd35fd5..853bbef0b47b 100644 --- a/include/linux/sched/debug.h +++ b/include/linux/sched/debug.h | |||
@@ -3,4 +3,50 @@ | |||
3 | 3 | ||
4 | #include <linux/sched.h> | 4 | #include <linux/sched.h> |
5 | 5 | ||
6 | /* | ||
7 | * Various scheduler/task debugging interfaces: | ||
8 | */ | ||
9 | |||
10 | struct task_struct; | ||
11 | |||
12 | extern void dump_cpu_task(int cpu); | ||
13 | |||
14 | /* | ||
15 | * Only dump TASK_* tasks. (0 for all tasks) | ||
16 | */ | ||
17 | extern void show_state_filter(unsigned long state_filter); | ||
18 | |||
19 | static inline void show_state(void) | ||
20 | { | ||
21 | show_state_filter(0); | ||
22 | } | ||
23 | |||
24 | struct pt_regs; | ||
25 | |||
26 | extern void show_regs(struct pt_regs *); | ||
27 | |||
28 | /* | ||
29 | * TASK is a pointer to the task whose backtrace we want to see (or NULL for current | ||
30 | * task), SP is the stack pointer of the first frame that should be shown in the back | ||
31 | * trace (or NULL if the entire call-chain of the task should be shown). | ||
32 | */ | ||
33 | extern void show_stack(struct task_struct *task, unsigned long *sp); | ||
34 | |||
35 | extern void sched_show_task(struct task_struct *p); | ||
36 | |||
37 | #ifdef CONFIG_SCHED_DEBUG | ||
38 | struct seq_file; | ||
39 | extern void proc_sched_show_task(struct task_struct *p, struct seq_file *m); | ||
40 | extern void proc_sched_set_task(struct task_struct *p); | ||
41 | #endif | ||
42 | |||
43 | /* Attach to any functions which should be ignored in wchan output. */ | ||
44 | #define __sched __attribute__((__section__(".sched.text"))) | ||
45 | |||
46 | /* Linker adds these: start and end of __sched functions */ | ||
47 | extern char __sched_text_start[], __sched_text_end[]; | ||
48 | |||
49 | /* Is this address in the __sched functions? */ | ||
50 | extern int in_sched_functions(unsigned long addr); | ||
51 | |||
6 | #endif /* _LINUX_SCHED_DEBUG_H */ | 52 | #endif /* _LINUX_SCHED_DEBUG_H */ |