diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/vmlinux.lds.h | 10 | ||||
-rw-r--r-- | include/linux/ftrace.h | 11 | ||||
-rw-r--r-- | include/linux/sched.h | 1 | ||||
-rw-r--r-- | include/trace/sched.h | 4 |
4 files changed, 24 insertions, 2 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index eba835a2c2cd..c61fab1dd2f8 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
@@ -288,6 +288,16 @@ | |||
288 | *(.kprobes.text) \ | 288 | *(.kprobes.text) \ |
289 | VMLINUX_SYMBOL(__kprobes_text_end) = .; | 289 | VMLINUX_SYMBOL(__kprobes_text_end) = .; |
290 | 290 | ||
291 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER | ||
292 | #define IRQENTRY_TEXT \ | ||
293 | ALIGN_FUNCTION(); \ | ||
294 | VMLINUX_SYMBOL(__irqentry_text_start) = .; \ | ||
295 | *(.irqentry.text) \ | ||
296 | VMLINUX_SYMBOL(__irqentry_text_end) = .; | ||
297 | #else | ||
298 | #define IRQENTRY_TEXT | ||
299 | #endif | ||
300 | |||
291 | /* Section used for early init (in .S files) */ | 301 | /* Section used for early init (in .S files) */ |
292 | #define HEAD_TEXT *(.head.text) | 302 | #define HEAD_TEXT *(.head.text) |
293 | 303 | ||
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 11cac81eed08..44020f31bd81 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
@@ -377,6 +377,16 @@ struct ftrace_graph_ret { | |||
377 | */ | 377 | */ |
378 | #define __notrace_funcgraph notrace | 378 | #define __notrace_funcgraph notrace |
379 | 379 | ||
380 | /* | ||
381 | * We want to which function is an entrypoint of a hardirq. | ||
382 | * That will help us to put a signal on output. | ||
383 | */ | ||
384 | #define __irq_entry __attribute__((__section__(".irqentry.text"))) | ||
385 | |||
386 | /* Limits of hardirq entrypoints */ | ||
387 | extern char __irqentry_text_start[]; | ||
388 | extern char __irqentry_text_end[]; | ||
389 | |||
380 | #define FTRACE_RETFUNC_DEPTH 50 | 390 | #define FTRACE_RETFUNC_DEPTH 50 |
381 | #define FTRACE_RETSTACK_ALLOC_SIZE 32 | 391 | #define FTRACE_RETSTACK_ALLOC_SIZE 32 |
382 | /* Type of the callback handlers for tracing function graph*/ | 392 | /* Type of the callback handlers for tracing function graph*/ |
@@ -414,6 +424,7 @@ static inline void unpause_graph_tracing(void) | |||
414 | #else | 424 | #else |
415 | 425 | ||
416 | #define __notrace_funcgraph | 426 | #define __notrace_funcgraph |
427 | #define __irq_entry | ||
417 | 428 | ||
418 | static inline void ftrace_graph_init_task(struct task_struct *t) { } | 429 | static inline void ftrace_graph_init_task(struct task_struct *t) { } |
419 | static inline void ftrace_graph_exit_task(struct task_struct *t) { } | 430 | static inline void ftrace_graph_exit_task(struct task_struct *t) { } |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 4b81fc5f7731..dc5ea65dc716 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1176,6 +1176,7 @@ struct task_struct { | |||
1176 | * The buffer to hold the BTS data. | 1176 | * The buffer to hold the BTS data. |
1177 | */ | 1177 | */ |
1178 | void *bts_buffer; | 1178 | void *bts_buffer; |
1179 | size_t bts_size; | ||
1179 | #endif /* CONFIG_X86_PTRACE_BTS */ | 1180 | #endif /* CONFIG_X86_PTRACE_BTS */ |
1180 | 1181 | ||
1181 | /* PID/PID hash table linkage. */ | 1182 | /* PID/PID hash table linkage. */ |
diff --git a/include/trace/sched.h b/include/trace/sched.h index 9b2854abf7e2..f4549d506b16 100644 --- a/include/trace/sched.h +++ b/include/trace/sched.h | |||
@@ -30,8 +30,8 @@ DECLARE_TRACE(sched_switch, | |||
30 | TPARGS(rq, prev, next)); | 30 | TPARGS(rq, prev, next)); |
31 | 31 | ||
32 | DECLARE_TRACE(sched_migrate_task, | 32 | DECLARE_TRACE(sched_migrate_task, |
33 | TPPROTO(struct rq *rq, struct task_struct *p, int dest_cpu), | 33 | TPPROTO(struct task_struct *p, int orig_cpu, int dest_cpu), |
34 | TPARGS(rq, p, dest_cpu)); | 34 | TPARGS(p, orig_cpu, dest_cpu)); |
35 | 35 | ||
36 | DECLARE_TRACE(sched_process_free, | 36 | DECLARE_TRACE(sched_process_free, |
37 | TPPROTO(struct task_struct *p), | 37 | TPPROTO(struct task_struct *p), |