lkml.org 
[lkml]   [2010]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[RFC PATCH 1/3] perf: export perf helper functions
From
Date

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);



\
 
 \ /
  Last update: 2010-08-18 09:59    [W:0.068 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site