Messages in this thread Patch in this message | | | Subject | [RFC PATCH 1/3] perf: export perf helper functions | From | Zhang Rui <> | Date | Wed, 18 Aug 2010 15:59:27 +0800 |
| |
Make more perf helper functions global, so that we can write a new pmu more easily.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> --- include/linux/perf_event.h | 2 ++ kernel/perf_event.c | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-)
Index: linux-2.6/kernel/perf_event.c =================================================================== --- linux-2.6.orig/kernel/perf_event.c +++ linux-2.6/kernel/perf_event.c @@ -4572,7 +4572,7 @@ static enum hrtimer_restart perf_swevent return ret; } -static void perf_swevent_start_hrtimer(struct perf_event *event) +void perf_swevent_start_hrtimer(struct perf_event *event) { struct hw_perf_event *hwc = &event->hw; @@ -4595,7 +4595,9 @@ static void perf_swevent_start_hrtimer(s } } -static void perf_swevent_cancel_hrtimer(struct perf_event *event) +EXPORT_SYMBOL(perf_swevent_start_hrtimer); + +void perf_swevent_cancel_hrtimer(struct perf_event *event) { struct hw_perf_event *hwc = &event->hw; @@ -4607,6 +4609,8 @@ static void perf_swevent_cancel_hrtimer( } } +EXPORT_SYMBOL(perf_swevent_cancel_hrtimer); + /* * Software event: cpu wall time clock */ @@ -4815,6 +4819,8 @@ unlock: return ret; } +EXPORT_SYMBOL(perf_pmu_register); + void perf_pmu_unregister(struct pmu *pmu) { mutex_lock(&pmus_lock); @@ -4825,6 +4831,8 @@ void perf_pmu_unregister(struct pmu *pmu synchronize_srcu(&pmus_srcu); } +EXPORT_SYMBOL(perf_pmu_unregister); + struct pmu *perf_init_event(struct perf_event *event) { struct pmu *pmu = NULL; Index: linux-2.6/include/linux/perf_event.h =================================================================== --- linux-2.6.orig/include/linux/perf_event.h +++ linux-2.6/include/linux/perf_event.h @@ -888,6 +888,8 @@ extern int perf_max_events; extern int perf_pmu_register(struct pmu *pmu); extern void perf_pmu_unregister(struct pmu *pmu); +extern void perf_swevent_start_hrtimer(struct perf_event *event); +extern void perf_swevent_cancel_hrtimer(struct perf_event *event); extern void perf_event_task_sched_in(struct task_struct *task); extern void perf_event_task_sched_out(struct task_struct *task, struct task_struct *next);
| |