aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.h
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@redhat.com>2010-04-02 13:01:22 -0400
committerSteven Rostedt <rostedt@goodmis.org>2010-04-27 12:36:53 -0400
commit62b915f1060996a8e1f69be50e3b8e9e43b710cb (patch)
tree26741f065b30b67022d680c3bc2afbda319638e1 /kernel/trace/trace.h
parentd7a8d9e907cc294ec7a4a7046d1886375fbcc82e (diff)
tracing: Add graph output support for irqsoff tracer
Add function graph output to irqsoff tracer. The graph output is enabled by setting new 'display-graph' trace option. Signed-off-by: Jiri Olsa <jolsa@redhat.com> LKML-Reference: <1270227683-14631-4-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r--kernel/trace/trace.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 970004c5fa79..911e9864e94a 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -378,6 +378,9 @@ void trace_function(struct trace_array *tr,
378 unsigned long ip, 378 unsigned long ip,
379 unsigned long parent_ip, 379 unsigned long parent_ip,
380 unsigned long flags, int pc); 380 unsigned long flags, int pc);
381void trace_default_header(struct seq_file *m);
382void print_trace_header(struct seq_file *m, struct trace_iterator *iter);
383int trace_empty(struct trace_iterator *iter);
381 384
382void trace_graph_return(struct ftrace_graph_ret *trace); 385void trace_graph_return(struct ftrace_graph_ret *trace);
383int trace_graph_entry(struct ftrace_graph_ent *trace); 386int trace_graph_entry(struct ftrace_graph_ent *trace);
@@ -491,11 +494,29 @@ extern int trace_clock_id;
491 494
492/* Standard output formatting function used for function return traces */ 495/* Standard output formatting function used for function return traces */
493#ifdef CONFIG_FUNCTION_GRAPH_TRACER 496#ifdef CONFIG_FUNCTION_GRAPH_TRACER
497
498/* Flag options */
499#define TRACE_GRAPH_PRINT_OVERRUN 0x1
500#define TRACE_GRAPH_PRINT_CPU 0x2
501#define TRACE_GRAPH_PRINT_OVERHEAD 0x4
502#define TRACE_GRAPH_PRINT_PROC 0x8
503#define TRACE_GRAPH_PRINT_DURATION 0x10
504#define TRACE_GRAPH_PRINT_ABS_TIME 0x20
505
494extern enum print_line_t 506extern enum print_line_t
495print_graph_function_flags(struct trace_iterator *iter, u32 flags); 507print_graph_function_flags(struct trace_iterator *iter, u32 flags);
496extern void print_graph_headers_flags(struct seq_file *s, u32 flags); 508extern void print_graph_headers_flags(struct seq_file *s, u32 flags);
497extern enum print_line_t 509extern enum print_line_t
498trace_print_graph_duration(unsigned long long duration, struct trace_seq *s); 510trace_print_graph_duration(unsigned long long duration, struct trace_seq *s);
511extern void graph_trace_open(struct trace_iterator *iter);
512extern void graph_trace_close(struct trace_iterator *iter);
513extern int __trace_graph_entry(struct trace_array *tr,
514 struct ftrace_graph_ent *trace,
515 unsigned long flags, int pc);
516extern void __trace_graph_return(struct trace_array *tr,
517 struct ftrace_graph_ret *trace,
518 unsigned long flags, int pc);
519
499 520
500#ifdef CONFIG_DYNAMIC_FTRACE 521#ifdef CONFIG_DYNAMIC_FTRACE
501/* TODO: make this variable */ 522/* TODO: make this variable */