diff options
author | Alexander Shishkin <alexander.shishkin@linux.intel.com> | 2015-01-14 07:18:15 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-04-02 11:14:12 -0400 |
commit | 68db7e98c3a6ebe7284b6cf14906ed7c55f3f7f0 (patch) | |
tree | aff39ee8c8f8703e262768397610c5949fd93f48 /include | |
parent | bed5b25ad9c8a2f5d735ef0bc746ec870c01c1b0 (diff) |
perf: Add AUX record
When there's new data in the AUX space, output a record indicating its
offset and size and a set of flags, such as PERF_AUX_FLAG_TRUNCATED, to
mean the described data was truncated to fit in the ring buffer.
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kaixu Xia <kaixu.xia@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Robert Richter <rric@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: adrian.hunter@intel.com
Cc: kan.liang@intel.com
Cc: markus.t.metzger@intel.com
Cc: mathieu.poirier@linaro.org
Link: http://lkml.kernel.org/r/1421237903-181015-7-git-send-email-alexander.shishkin@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/uapi/linux/perf_event.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index 6c5013a71714..8904ad3a850b 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
@@ -768,6 +768,20 @@ enum perf_event_type { | |||
768 | */ | 768 | */ |
769 | PERF_RECORD_MMAP2 = 10, | 769 | PERF_RECORD_MMAP2 = 10, |
770 | 770 | ||
771 | /* | ||
772 | * Records that new data landed in the AUX buffer part. | ||
773 | * | ||
774 | * struct { | ||
775 | * struct perf_event_header header; | ||
776 | * | ||
777 | * u64 aux_offset; | ||
778 | * u64 aux_size; | ||
779 | * u64 flags; | ||
780 | * struct sample_id sample_id; | ||
781 | * }; | ||
782 | */ | ||
783 | PERF_RECORD_AUX = 11, | ||
784 | |||
771 | PERF_RECORD_MAX, /* non-ABI */ | 785 | PERF_RECORD_MAX, /* non-ABI */ |
772 | }; | 786 | }; |
773 | 787 | ||
@@ -785,6 +799,11 @@ enum perf_callchain_context { | |||
785 | PERF_CONTEXT_MAX = (__u64)-4095, | 799 | PERF_CONTEXT_MAX = (__u64)-4095, |
786 | }; | 800 | }; |
787 | 801 | ||
802 | /** | ||
803 | * PERF_RECORD_AUX::flags bits | ||
804 | */ | ||
805 | #define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */ | ||
806 | |||
788 | #define PERF_FLAG_FD_NO_GROUP (1UL << 0) | 807 | #define PERF_FLAG_FD_NO_GROUP (1UL << 0) |
789 | #define PERF_FLAG_FD_OUTPUT (1UL << 1) | 808 | #define PERF_FLAG_FD_OUTPUT (1UL << 1) |
790 | #define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */ | 809 | #define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */ |