diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-03-19 15:26:15 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-20 05:17:07 -0400 |
commit | ac199db0189c091f2863312061c0575937f68810 (patch) | |
tree | 0068aaa77ca00102ca60754eb32329f06821bba0 /kernel/trace/trace.h | |
parent | 28bea271e58e429eccfad3d7ee2ad12d6ee015bf (diff) |
ftrace: event profile hooks
Impact: new tracing infrastructure feature
Provide infrastructure to generate software perf counter events
from tracepoints.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <20090319194233.557364871@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r-- | kernel/trace/trace.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 7c9a0cbf5dca..7cfb741be200 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h | |||
@@ -785,12 +785,23 @@ struct ftrace_event_call { | |||
785 | int id; | 785 | int id; |
786 | int (*raw_init)(void); | 786 | int (*raw_init)(void); |
787 | int (*show_format)(struct trace_seq *s); | 787 | int (*show_format)(struct trace_seq *s); |
788 | |||
789 | #ifdef CONFIG_EVENT_PROFILE | ||
790 | atomic_t profile_count; | ||
791 | int (*profile_enable)(struct ftrace_event_call *); | ||
792 | void (*profile_disable)(struct ftrace_event_call *); | ||
793 | #endif | ||
788 | }; | 794 | }; |
789 | 795 | ||
790 | void event_trace_printk(unsigned long ip, const char *fmt, ...); | 796 | void event_trace_printk(unsigned long ip, const char *fmt, ...); |
791 | extern struct ftrace_event_call __start_ftrace_events[]; | 797 | extern struct ftrace_event_call __start_ftrace_events[]; |
792 | extern struct ftrace_event_call __stop_ftrace_events[]; | 798 | extern struct ftrace_event_call __stop_ftrace_events[]; |
793 | 799 | ||
800 | #define for_each_event(event) \ | ||
801 | for (event = __start_ftrace_events; \ | ||
802 | (unsigned long)event < (unsigned long)__stop_ftrace_events; \ | ||
803 | event++) | ||
804 | |||
794 | extern const char *__start___trace_bprintk_fmt[]; | 805 | extern const char *__start___trace_bprintk_fmt[]; |
795 | extern const char *__stop___trace_bprintk_fmt[]; | 806 | extern const char *__stop___trace_bprintk_fmt[]; |
796 | 807 | ||