aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/event.h
diff options
context:
space:
mode:
authorTom Zanussi <tzanussi@gmail.com>2010-04-02 00:59:21 -0400
committerIngo Molnar <mingo@elte.hu>2010-04-14 05:56:07 -0400
commit9215545e99d8c0b27323df2de504f4294bf5e407 (patch)
treeb53dde70374d2f8a8cd12c44c3637665e559cb16 /tools/perf/util/event.h
parentcd19a035f3b63fee6dcbdb5371c4b22276f7dc8c (diff)
perf: Convert perf tracing data into a tracing_data event
Bypasses the tracing_data perf header code and replaces it with a synthesized event and processing function that accomplishes the same thing, used when reading/writing perf data to/from a pipe. The tracing data is pretty large, and this patch doesn't attempt to break it down into component events. The tracing_data event itself doesn't actually contain the tracing data, rather it arranges for the event processing code to skip over it after it's read, using the skip return value added to the event processing loop in a previous patch. Signed-off-by: Tom Zanussi <tzanussi@gmail.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: k-keiichi@bx.jp.nec.com Cc: acme@ghostprotocols.net LKML-Reference: <1270184365-8281-8-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/event.h')
-rw-r--r--tools/perf/util/event.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
index c720fe06f8d7..b896a177ea41 100644
--- a/tools/perf/util/event.h
+++ b/tools/perf/util/event.h
@@ -86,6 +86,7 @@ struct build_id_event {
86enum perf_header_event_type { /* above any possible kernel type */ 86enum perf_header_event_type { /* above any possible kernel type */
87 PERF_RECORD_HEADER_ATTR = 64, 87 PERF_RECORD_HEADER_ATTR = 64,
88 PERF_RECORD_HEADER_EVENT_TYPE = 65, 88 PERF_RECORD_HEADER_EVENT_TYPE = 65,
89 PERF_RECORD_HEADER_TRACING_DATA = 66,
89 PERF_RECORD_HEADER_MAX 90 PERF_RECORD_HEADER_MAX
90}; 91};
91 92
@@ -107,6 +108,11 @@ struct event_type_event {
107 struct perf_trace_event_type event_type; 108 struct perf_trace_event_type event_type;
108}; 109};
109 110
111struct tracing_data_event {
112 struct perf_event_header header;
113 u32 size;
114};
115
110typedef union event_union { 116typedef union event_union {
111 struct perf_event_header header; 117 struct perf_event_header header;
112 struct ip_event ip; 118 struct ip_event ip;
@@ -118,6 +124,7 @@ typedef union event_union {
118 struct sample_event sample; 124 struct sample_event sample;
119 struct attr_event attr; 125 struct attr_event attr;
120 struct event_type_event event_type; 126 struct event_type_event event_type;
127 struct tracing_data_event tracing_data;
121} event_t; 128} event_t;
122 129
123struct events_stats { 130struct events_stats {