summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-12-07 07:51:14 +0100
committerIngo Molnar <mingo@elte.hu>2010-12-07 07:51:14 +0100
commit75b5293a5d176cd9caf6dc590da4f3458c048c3c (patch)
tree40929d6108c662d6eb4c65f900312a37d0d6d566 /include
parent10a18d7dc0d9f12483c95ffc234118e9b80edfeb (diff)
parentce47dc56a2241dc035160a85bc5e34283cdd622c (diff)
downloadlinux-75b5293a5d176cd9caf6dc590da4f3458c048c3c.tar.gz
linux-75b5293a5d176cd9caf6dc590da4f3458c048c3c.tar.bz2
linux-75b5293a5d176cd9caf6dc590da4f3458c048c3c.zip
Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/core
Diffstat (limited to 'include')
-rw-r--r--include/linux/perf_event.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index adf6d9931643..2814ead4adb8 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -215,8 +215,9 @@ struct perf_event_attr {
*/
precise_ip : 2, /* skid constraint */
mmap_data : 1, /* non-exec mmap data */
+ sample_id_all : 1, /* sample_type all events */
- __reserved_1 : 46;
+ __reserved_1 : 45;
union {
__u32 wakeup_events; /* wakeup every n events */
@@ -327,6 +328,15 @@ struct perf_event_header {
enum perf_event_type {
/*
+ * If perf_event_attr.sample_id_all is set then all event types will
+ * have the sample_type selected fields related to where/when
+ * (identity) an event took place (TID, TIME, ID, CPU, STREAM_ID)
+ * described in PERF_RECORD_SAMPLE below, it will be stashed just after
+ * the perf_event_header and the fields already present for the existing
+ * fields, i.e. at the end of the payload. That way a newer perf.data
+ * file will be supported by older perf tools, with these new optional
+ * fields being ignored.
+ *
* The MMAP events record the PROT_EXEC mappings so that we can
* correlate userspace IPs to code. They have the following structure:
*
@@ -759,6 +769,7 @@ struct perf_event {
struct perf_event_attr attr;
u16 header_size;
+ u16 id_header_size;
u16 read_size;
struct hw_perf_event hw;