aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ftrace.h
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2008-12-09 17:54:20 -0500
committerIngo Molnar <mingo@elte.hu>2008-12-12 05:14:08 -0500
commitbcbc4f20b52c2c40c43a4d2337707dcdfe81bc3a (patch)
tree897774cc2f53691b2736e3d1dbadc9d1e263d47a /include/linux/ftrace.h
parenta0343e823184070f55364d8359f832dcb33c57c7 (diff)
tracing/function-graph-tracer: annotate do_IRQ and smp_apic_timer_interrupt
Impact: move most important x86 irq entry-points to a separate subsection Annotate do_IRQ and smp_apic_timer_interrupt to put them into the .irqentry.text subsection. These function will so be recognized as hardirq entrypoints for the function-graph-tracer. We could also annotate other irq entries but the others are far less important but they can be added on request. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/ftrace.h')
-rw-r--r--include/linux/ftrace.h11
1 files changed, 11 insertions, 0 deletions
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) { }