diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-06-05 08:04:55 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-06-05 08:46:41 -0400 |
commit | 089dd79db9264dc0da602bad45d42f1b3e7d1e07 (patch) | |
tree | 017b1efd0bc4f3d15b92ed6fae5dfc3d1b164872 /include | |
parent | f7b6eb3fa07269da20dbbde8ba37a0273fdbd9c9 (diff) |
perf_counter: Generate mmap events for install_special_mapping()
In order to track the vdso also generate mmap events for
install_special_mapping().
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/perf_counter.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h index 6ca403acd419..40dc0e273d9c 100644 --- a/include/linux/perf_counter.h +++ b/include/linux/perf_counter.h | |||
@@ -617,8 +617,13 @@ static inline int is_software_counter(struct perf_counter *counter) | |||
617 | 617 | ||
618 | extern void perf_swcounter_event(u32, u64, int, struct pt_regs *, u64); | 618 | extern void perf_swcounter_event(u32, u64, int, struct pt_regs *, u64); |
619 | 619 | ||
620 | extern void perf_counter_mmap(unsigned long addr, unsigned long len, | 620 | extern void __perf_counter_mmap(struct vm_area_struct *vma); |
621 | unsigned long pgoff, struct file *file); | 621 | |
622 | static inline void perf_counter_mmap(struct vm_area_struct *vma) | ||
623 | { | ||
624 | if (vma->vm_flags & VM_EXEC) | ||
625 | __perf_counter_mmap(vma); | ||
626 | } | ||
622 | 627 | ||
623 | extern void perf_counter_comm(struct task_struct *tsk); | 628 | extern void perf_counter_comm(struct task_struct *tsk); |
624 | extern void perf_counter_fork(struct task_struct *tsk); | 629 | extern void perf_counter_fork(struct task_struct *tsk); |
@@ -668,10 +673,7 @@ static inline void | |||
668 | perf_swcounter_event(u32 event, u64 nr, int nmi, | 673 | perf_swcounter_event(u32 event, u64 nr, int nmi, |
669 | struct pt_regs *regs, u64 addr) { } | 674 | struct pt_regs *regs, u64 addr) { } |
670 | 675 | ||
671 | static inline void | 676 | static inline void perf_counter_mmap(struct vm_area_struct *vma) { } |
672 | perf_counter_mmap(unsigned long addr, unsigned long len, | ||
673 | unsigned long pgoff, struct file *file) { } | ||
674 | |||
675 | static inline void perf_counter_comm(struct task_struct *tsk) { } | 677 | static inline void perf_counter_comm(struct task_struct *tsk) { } |
676 | static inline void perf_counter_fork(struct task_struct *tsk) { } | 678 | static inline void perf_counter_fork(struct task_struct *tsk) { } |
677 | static inline void perf_counter_init(void) { } | 679 | static inline void perf_counter_init(void) { } |