aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/vmlinux.lds.h10
-rw-r--r--include/linux/ftrace.h11
-rw-r--r--include/linux/sched.h1
-rw-r--r--include/trace/sched.h4
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 */
387extern char __irqentry_text_start[];
388extern 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
418static inline void ftrace_graph_init_task(struct task_struct *t) { } 429static inline void ftrace_graph_init_task(struct task_struct *t) { }
419static inline void ftrace_graph_exit_task(struct task_struct *t) { } 430static 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
32DECLARE_TRACE(sched_migrate_task, 32DECLARE_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
36DECLARE_TRACE(sched_process_free, 36DECLARE_TRACE(sched_process_free,
37 TPPROTO(struct task_struct *p), 37 TPPROTO(struct task_struct *p),