diff options
-rw-r--r-- | include/linux/perf_counter.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h index ef4dcbff75ab..81220188d058 100644 --- a/include/linux/perf_counter.h +++ b/include/linux/perf_counter.h | |||
@@ -208,6 +208,20 @@ struct perf_event_header { | |||
208 | 208 | ||
209 | enum perf_event_type { | 209 | enum perf_event_type { |
210 | 210 | ||
211 | /* | ||
212 | * The MMAP events record the PROT_EXEC mappings so that we can | ||
213 | * correlate userspace IPs to code. They have the following structure: | ||
214 | * | ||
215 | * struct { | ||
216 | * struct perf_event_header header; | ||
217 | * | ||
218 | * u32 pid, tid; | ||
219 | * u64 addr; | ||
220 | * u64 len; | ||
221 | * u64 pgoff; | ||
222 | * char filename[]; | ||
223 | * }; | ||
224 | */ | ||
211 | PERF_EVENT_MMAP = 1, | 225 | PERF_EVENT_MMAP = 1, |
212 | PERF_EVENT_MUNMAP = 2, | 226 | PERF_EVENT_MUNMAP = 2, |
213 | 227 | ||
@@ -217,6 +231,24 @@ enum perf_event_type { | |||
217 | * | 231 | * |
218 | * These events will have types of the form: | 232 | * These events will have types of the form: |
219 | * PERF_EVENT_COUNTER_OVERFLOW { | __PERF_EVENT_* } * | 233 | * PERF_EVENT_COUNTER_OVERFLOW { | __PERF_EVENT_* } * |
234 | * | ||
235 | * struct { | ||
236 | * struct perf_event_header header; | ||
237 | * | ||
238 | * { u64 ip; } && __PERF_EVENT_IP | ||
239 | * { u32 pid, tid; } && __PERF_EVENT_TID | ||
240 | * | ||
241 | * { u64 nr; | ||
242 | * { u64 event, val; } cnt[nr]; } && __PERF_EVENT_GROUP | ||
243 | * | ||
244 | * { u16 nr, | ||
245 | * hv, | ||
246 | * kernel, | ||
247 | * user; | ||
248 | * u64 ips[nr]; } && __PERF_EVENT_CALLCHAIN | ||
249 | * | ||
250 | * { u64 time; } && __PERF_EVENT_TIME | ||
251 | * }; | ||
220 | */ | 252 | */ |
221 | PERF_EVENT_COUNTER_OVERFLOW = 1UL << 31, | 253 | PERF_EVENT_COUNTER_OVERFLOW = 1UL << 31, |
222 | __PERF_EVENT_IP = PERF_RECORD_IP, | 254 | __PERF_EVENT_IP = PERF_RECORD_IP, |