diff options
Diffstat (limited to 'tools/perf/util/event.c')
-rw-r--r-- | tools/perf/util/event.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c index 1023f67633a4..17c1c3c875c3 100644 --- a/tools/perf/util/event.c +++ b/tools/perf/util/event.c @@ -35,6 +35,22 @@ const char *perf_event__name(unsigned int id) return perf_event__names[id]; } +int perf_sample_size(u64 sample_type) +{ + u64 mask = sample_type & PERF_SAMPLE_MASK; + int size = 0; + int i; + + for (i = 0; i < 64; i++) { + if ((mask << i) & 1) + size++; + } + + size *= sizeof(u64); + + return size; +} + static struct perf_sample synth_sample = { .pid = -1, .tid = -1, |