diff options
| author | Dan Williams <dan.j.williams@intel.com> | 2010-05-17 19:30:58 -0400 |
|---|---|---|
| committer | Dan Williams <dan.j.williams@intel.com> | 2010-05-17 19:30:58 -0400 |
| commit | 0b28330e39bbe0ffee4c56b09fc415fcec595ea3 (patch) | |
| tree | fcf504879883763557e696eff81427b1ab78f76b /include/linux/perf_event.h | |
| parent | 058276303dbc4ed089c1f7dad0871810b1f5ddf1 (diff) | |
| parent | caa20d974c86af496b419eef70010e63b7fab7ac (diff) | |
Merge branch 'ioat' into dmaengine
Diffstat (limited to 'include/linux/perf_event.h')
| -rw-r--r-- | include/linux/perf_event.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 95477038a72a..c8e375440403 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h | |||
| @@ -842,13 +842,6 @@ extern atomic_t perf_swevent_enabled[PERF_COUNT_SW_MAX]; | |||
| 842 | 842 | ||
| 843 | extern void __perf_sw_event(u32, u64, int, struct pt_regs *, u64); | 843 | extern void __perf_sw_event(u32, u64, int, struct pt_regs *, u64); |
| 844 | 844 | ||
| 845 | static inline void | ||
| 846 | perf_sw_event(u32 event_id, u64 nr, int nmi, struct pt_regs *regs, u64 addr) | ||
| 847 | { | ||
| 848 | if (atomic_read(&perf_swevent_enabled[event_id])) | ||
| 849 | __perf_sw_event(event_id, nr, nmi, regs, addr); | ||
| 850 | } | ||
| 851 | |||
| 852 | extern void | 845 | extern void |
| 853 | perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip, int skip); | 846 | perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip, int skip); |
| 854 | 847 | ||
| @@ -887,6 +880,20 @@ static inline void perf_fetch_caller_regs(struct pt_regs *regs, int skip) | |||
| 887 | return perf_arch_fetch_caller_regs(regs, ip, skip); | 880 | return perf_arch_fetch_caller_regs(regs, ip, skip); |
| 888 | } | 881 | } |
| 889 | 882 | ||
| 883 | static inline void | ||
| 884 | perf_sw_event(u32 event_id, u64 nr, int nmi, struct pt_regs *regs, u64 addr) | ||
| 885 | { | ||
| 886 | if (atomic_read(&perf_swevent_enabled[event_id])) { | ||
| 887 | struct pt_regs hot_regs; | ||
| 888 | |||
| 889 | if (!regs) { | ||
| 890 | perf_fetch_caller_regs(&hot_regs, 1); | ||
| 891 | regs = &hot_regs; | ||
| 892 | } | ||
| 893 | __perf_sw_event(event_id, nr, nmi, regs, addr); | ||
| 894 | } | ||
| 895 | } | ||
| 896 | |||
| 890 | extern void __perf_event_mmap(struct vm_area_struct *vma); | 897 | extern void __perf_event_mmap(struct vm_area_struct *vma); |
| 891 | 898 | ||
| 892 | static inline void perf_event_mmap(struct vm_area_struct *vma) | 899 | static inline void perf_event_mmap(struct vm_area_struct *vma) |
