aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-04-08 09:01:30 -0400
committerIngo Molnar <mingo@elte.hu>2009-04-08 13:05:47 -0400
commit8d1b2d9361b494bfc761700c348c65ebbe3deb5b (patch)
tree284706b328133063bf530cb47c52a827b523b65a /include
parent8740f9418c78dcad694b46ab25d1645d5aef1f5e (diff)
perf_counter: track task-comm data
Similar to the mmap data stream, add one that tracks the task COMM field, so that the userspace reporting knows what to call a task. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> LKML-Reference: <20090408130409.127422406@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r--include/linux/perf_counter.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h
index 8bf764fc6220..a70a55f27598 100644
--- a/include/linux/perf_counter.h
+++ b/include/linux/perf_counter.h
@@ -142,8 +142,9 @@ struct perf_counter_hw_event {
142 exclude_idle : 1, /* don't count when idle */ 142 exclude_idle : 1, /* don't count when idle */
143 mmap : 1, /* include mmap data */ 143 mmap : 1, /* include mmap data */
144 munmap : 1, /* include munmap data */ 144 munmap : 1, /* include munmap data */
145 comm : 1, /* include comm data */
145 146
146 __reserved_1 : 53; 147 __reserved_1 : 52;
147 148
148 __u32 extra_config_len; 149 __u32 extra_config_len;
149 __u32 wakeup_events; /* wakeup every n events */ 150 __u32 wakeup_events; /* wakeup every n events */
@@ -231,6 +232,16 @@ enum perf_event_type {
231 PERF_EVENT_MUNMAP = 2, 232 PERF_EVENT_MUNMAP = 2,
232 233
233 /* 234 /*
235 * struct {
236 * struct perf_event_header header;
237 *
238 * u32 pid, tid;
239 * char comm[];
240 * };
241 */
242 PERF_EVENT_COMM = 3,
243
244 /*
234 * When header.misc & PERF_EVENT_MISC_OVERFLOW the event_type field 245 * When header.misc & PERF_EVENT_MISC_OVERFLOW the event_type field
235 * will be PERF_RECORD_* 246 * will be PERF_RECORD_*
236 * 247 *
@@ -545,6 +556,8 @@ extern void perf_counter_mmap(unsigned long addr, unsigned long len,
545extern void perf_counter_munmap(unsigned long addr, unsigned long len, 556extern void perf_counter_munmap(unsigned long addr, unsigned long len,
546 unsigned long pgoff, struct file *file); 557 unsigned long pgoff, struct file *file);
547 558
559extern void perf_counter_comm(struct task_struct *tsk);
560
548#define MAX_STACK_DEPTH 255 561#define MAX_STACK_DEPTH 255
549 562
550struct perf_callchain_entry { 563struct perf_callchain_entry {
@@ -583,6 +596,7 @@ static inline void
583perf_counter_munmap(unsigned long addr, unsigned long len, 596perf_counter_munmap(unsigned long addr, unsigned long len,
584 unsigned long pgoff, struct file *file) { } 597 unsigned long pgoff, struct file *file) { }
585 598
599static inline void perf_counter_comm(struct task_struct *tsk) { }
586#endif 600#endif
587 601
588#endif /* __KERNEL__ */ 602#endif /* __KERNEL__ */