aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/perf_event.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 09d048b52115..ab72f56eb372 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -561,6 +561,13 @@ struct perf_event;
561 * struct pmu - generic performance monitoring unit 561 * struct pmu - generic performance monitoring unit
562 */ 562 */
563struct pmu { 563struct pmu {
564 struct list_head entry;
565
566 /*
567 * Should return -ENOENT when the @event doesn't match this pmu
568 */
569 int (*event_init) (struct perf_event *event);
570
564 int (*enable) (struct perf_event *event); 571 int (*enable) (struct perf_event *event);
565 void (*disable) (struct perf_event *event); 572 void (*disable) (struct perf_event *event);
566 int (*start) (struct perf_event *event); 573 int (*start) (struct perf_event *event);
@@ -849,7 +856,8 @@ struct perf_output_handle {
849 */ 856 */
850extern int perf_max_events; 857extern int perf_max_events;
851 858
852extern struct pmu *hw_perf_event_init(struct perf_event *event); 859extern int perf_pmu_register(struct pmu *pmu);
860extern void perf_pmu_unregister(struct pmu *pmu);
853 861
854extern void perf_event_task_sched_in(struct task_struct *task); 862extern void perf_event_task_sched_in(struct task_struct *task);
855extern void perf_event_task_sched_out(struct task_struct *task, struct task_struct *next); 863extern void perf_event_task_sched_out(struct task_struct *task, struct task_struct *next);