diff options
Diffstat (limited to 'tools/perf/util/event.c')
-rw-r--r-- | tools/perf/util/event.c | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c index 1023f67633a4..252b72a5e59e 100644 --- a/tools/perf/util/event.c +++ b/tools/perf/util/event.c | |||
@@ -9,21 +9,21 @@ | |||
9 | #include "thread_map.h" | 9 | #include "thread_map.h" |
10 | 10 | ||
11 | static const char *perf_event__names[] = { | 11 | static const char *perf_event__names[] = { |
12 | [0] = "TOTAL", | 12 | [0] = "TOTAL", |
13 | [PERF_RECORD_MMAP] = "MMAP", | 13 | [PERF_RECORD_MMAP] = "MMAP", |
14 | [PERF_RECORD_LOST] = "LOST", | 14 | [PERF_RECORD_LOST] = "LOST", |
15 | [PERF_RECORD_COMM] = "COMM", | 15 | [PERF_RECORD_COMM] = "COMM", |
16 | [PERF_RECORD_EXIT] = "EXIT", | 16 | [PERF_RECORD_EXIT] = "EXIT", |
17 | [PERF_RECORD_THROTTLE] = "THROTTLE", | 17 | [PERF_RECORD_THROTTLE] = "THROTTLE", |
18 | [PERF_RECORD_UNTHROTTLE] = "UNTHROTTLE", | 18 | [PERF_RECORD_UNTHROTTLE] = "UNTHROTTLE", |
19 | [PERF_RECORD_FORK] = "FORK", | 19 | [PERF_RECORD_FORK] = "FORK", |
20 | [PERF_RECORD_READ] = "READ", | 20 | [PERF_RECORD_READ] = "READ", |
21 | [PERF_RECORD_SAMPLE] = "SAMPLE", | 21 | [PERF_RECORD_SAMPLE] = "SAMPLE", |
22 | [PERF_RECORD_HEADER_ATTR] = "ATTR", | 22 | [PERF_RECORD_HEADER_ATTR] = "ATTR", |
23 | [PERF_RECORD_HEADER_EVENT_TYPE] = "EVENT_TYPE", | 23 | [PERF_RECORD_HEADER_EVENT_TYPE] = "EVENT_TYPE", |
24 | [PERF_RECORD_HEADER_TRACING_DATA] = "TRACING_DATA", | 24 | [PERF_RECORD_HEADER_TRACING_DATA] = "TRACING_DATA", |
25 | [PERF_RECORD_HEADER_BUILD_ID] = "BUILD_ID", | 25 | [PERF_RECORD_HEADER_BUILD_ID] = "BUILD_ID", |
26 | [PERF_RECORD_FINISHED_ROUND] = "FINISHED_ROUND", | 26 | [PERF_RECORD_FINISHED_ROUND] = "FINISHED_ROUND", |
27 | }; | 27 | }; |
28 | 28 | ||
29 | const char *perf_event__name(unsigned int id) | 29 | const char *perf_event__name(unsigned int id) |
@@ -35,6 +35,22 @@ const char *perf_event__name(unsigned int id) | |||
35 | return perf_event__names[id]; | 35 | return perf_event__names[id]; |
36 | } | 36 | } |
37 | 37 | ||
38 | int perf_sample_size(u64 sample_type) | ||
39 | { | ||
40 | u64 mask = sample_type & PERF_SAMPLE_MASK; | ||
41 | int size = 0; | ||
42 | int i; | ||
43 | |||
44 | for (i = 0; i < 64; i++) { | ||
45 | if (mask & (1UL << i)) | ||
46 | size++; | ||
47 | } | ||
48 | |||
49 | size *= sizeof(u64); | ||
50 | |||
51 | return size; | ||
52 | } | ||
53 | |||
38 | static struct perf_sample synth_sample = { | 54 | static struct perf_sample synth_sample = { |
39 | .pid = -1, | 55 | .pid = -1, |
40 | .tid = -1, | 56 | .tid = -1, |