Messages in this thread Patch in this message | | | From | Jiri Olsa <> | Subject | [PATCH 10/21] perf tools: Sync perf_event.h uapi header | Date | Wed, 24 Jan 2018 12:51:32 +0100 |
| |
Syncing perf_event.h uapi header with user data changes.
Link: http://lkml.kernel.org/n/tip-hoayrwj8xl8a8oy54m0fhdyo@git.kernel.org Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- tools/include/uapi/linux/perf_event.h | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/tools/include/uapi/linux/perf_event.h b/tools/include/uapi/linux/perf_event.h index dea5e9c32e8a..d30583411f97 100644 --- a/tools/include/uapi/linux/perf_event.h +++ b/tools/include/uapi/linux/perf_event.h @@ -371,7 +371,8 @@ struct perf_event_attr { context_switch : 1, /* context switch data */ write_backward : 1, /* Write ring buffer from end to beginning */ namespaces : 1, /* include namespaces data */ - __reserved_1 : 35; + user_data : 1, /* generate user data */ + __reserved_1 : 34; union { __u32 wakeup_events; /* wakeup every n events */ @@ -619,10 +620,12 @@ struct perf_event_mmap_page { * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events + * PERF_RECORD_MISC_USER_DATA - PERF_RECORD_SAMPLE event */ #define PERF_RECORD_MISC_MMAP_DATA (1 << 13) #define PERF_RECORD_MISC_COMM_EXEC (1 << 13) #define PERF_RECORD_MISC_SWITCH_OUT (1 << 13) +#define PERF_RECORD_MISC_USER_DATA (1 << 13) /* * Indicates that the content of PERF_SAMPLE_IP points to * the actual instruction that triggered the event. See also @@ -821,6 +824,7 @@ enum perf_event_type { * { u64 abi; # enum perf_sample_regs_abi * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_INTR * { u64 phys_addr;} && PERF_SAMPLE_PHYS_ADDR + * { u64 user_data_id;} && PERF_SAMPLE_USER_DATA_ID * }; */ PERF_RECORD_SAMPLE = 9, @@ -923,6 +927,31 @@ enum perf_event_type { */ PERF_RECORD_NAMESPACES = 16, + /* + * Records the user space data for previous + * kernel samples. + * + * struct { + * struct perf_event_header header; + * u64 sample_type; + * + * # The sample_type value could contain following + * # PERF_SAMPLE_* bits: + * # + * # PERF_SAMPLE_USER_DATA_ID + * # PERF_SAMPLE_CALLCHAIN + * # + * # and governs the data portion: + * + * { u64 nr, + * u64 ips[nr];} && PERF_SAMPLE_CALLCHAIN + * { u64 user_data_id;} && PERF_SAMPLE_USER_DATA_ID + * + * struct sample_id sample_id; + * }; + */ + PERF_RECORD_USER_DATA = 17, + PERF_RECORD_MAX, /* non-ABI */ }; -- 2.13.6
| |