enum perf_event_type {
+ /*
+ * The MMAP events record the PROT_EXEC mappings so that we can
+ * correlate userspace IPs to code. They have the following structure:
+ *
+ * struct {
+ * struct perf_event_header header;
+ *
+ * u32 pid, tid;
+ * u64 addr;
+ * u64 len;
+ * u64 pgoff;
+ * char filename[];
+ * };
+ */
PERF_EVENT_MMAP = 1,
PERF_EVENT_MUNMAP = 2,
*
* These events will have types of the form:
* PERF_EVENT_COUNTER_OVERFLOW { | __PERF_EVENT_* } *
+ *
+ * struct {
+ * struct perf_event_header header;
+ *
+ * { u64 ip; } && __PERF_EVENT_IP
+ * { u32 pid, tid; } && __PERF_EVENT_TID
+ *
+ * { u64 nr;
+ * { u64 event, val; } cnt[nr]; } && __PERF_EVENT_GROUP
+ *
+ * { u16 nr,
+ * hv,
+ * kernel,
+ * user;
+ * u64 ips[nr]; } && __PERF_EVENT_CALLCHAIN
+ *
+ * { u64 time; } && __PERF_EVENT_TIME
+ * };
*/
PERF_EVENT_COUNTER_OVERFLOW = 1UL << 31,
__PERF_EVENT_IP = PERF_RECORD_IP,