Commit 0c593b34 authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Ingo Molnar
Browse files

perf_counter: comment the perf_event_type stuff



Describe the event format.

Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
LKML-Reference: <20090406094518.211174347@chello.nl>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 79f14641
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -208,6 +208,20 @@ struct perf_event_header {

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,

@@ -217,6 +231,24 @@ enum perf_event_type {
	 *
	 * 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,