diff options
| author | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
| commit | 79828b4fa835f73cdaf4bffa48696abdcbea9d02 (patch) | |
| tree | 5e0fa7156acb75ba603022bc807df8f2fedb97a8 /include/uapi/linux/perf_event.h | |
| parent | 721b51fcf91898299d96f4b72cb9434cda29dce6 (diff) | |
| parent | 8c1a9d6323abf0fb1e5dad96cf3f1c783505ea5a (diff) | |
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645
Diffstat (limited to 'include/uapi/linux/perf_event.h')
| -rw-r--r-- | include/uapi/linux/perf_event.h | 35 | 
1 files changed, 33 insertions, 2 deletions
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index d97f84c080da..2881145cda86 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h @@ -330,7 +330,8 @@ struct perf_event_attr {  				mmap2          :  1, /* include mmap with inode data     */  				comm_exec      :  1, /* flag comm events that are due to an exec */  				use_clockid    :  1, /* use @clockid for time fields */ -				__reserved_1   : 38; +				context_switch :  1, /* context switch data */ +				__reserved_1   : 37;  	union {  		__u32		wakeup_events;	  /* wakeup every n events */ @@ -572,9 +573,11 @@ struct perf_event_mmap_page {  /*   * PERF_RECORD_MISC_MMAP_DATA and PERF_RECORD_MISC_COMM_EXEC are used on   * different events so can reuse the same bit position. + * Ditto PERF_RECORD_MISC_SWITCH_OUT.   */  #define PERF_RECORD_MISC_MMAP_DATA		(1 << 13)  #define PERF_RECORD_MISC_COMM_EXEC		(1 << 13) +#define PERF_RECORD_MISC_SWITCH_OUT		(1 << 13)  /*   * Indicates that the content of PERF_SAMPLE_IP points to   * the actual instruction that triggered the event. See also @@ -818,6 +821,32 @@ enum perf_event_type {  	 */  	PERF_RECORD_LOST_SAMPLES		= 13, +	/* +	 * Records a context switch in or out (flagged by +	 * PERF_RECORD_MISC_SWITCH_OUT). See also +	 * PERF_RECORD_SWITCH_CPU_WIDE. +	 * +	 * struct { +	 *	struct perf_event_header	header; +	 *	struct sample_id		sample_id; +	 * }; +	 */ +	PERF_RECORD_SWITCH			= 14, + +	/* +	 * CPU-wide version of PERF_RECORD_SWITCH with next_prev_pid and +	 * next_prev_tid that are the next (switching out) or previous +	 * (switching in) pid/tid. +	 * +	 * struct { +	 *	struct perf_event_header	header; +	 *	u32				next_prev_pid; +	 *	u32				next_prev_tid; +	 *	struct sample_id		sample_id; +	 * }; +	 */ +	PERF_RECORD_SWITCH_CPU_WIDE		= 15, +  	PERF_RECORD_MAX,			/* non-ABI */  }; @@ -922,6 +951,7 @@ union perf_mem_data_src {   *   *     in_tx: running in a hardware transaction   *     abort: aborting a hardware transaction + *    cycles: cycles from last branch (or 0 if not supported)   */  struct perf_branch_entry {  	__u64	from; @@ -930,7 +960,8 @@ struct perf_branch_entry {  		predicted:1,/* target predicted */  		in_tx:1,    /* in transaction */  		abort:1,    /* transaction abort */ -		reserved:60; +		cycles:16,  /* cycle count to last branch */ +		reserved:44;  };  #endif /* _UAPI_LINUX_PERF_EVENT_H */  |