From 34fe8ec416abfb4355fcb1a9a015de7c9dfc9380 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Thu, 18 Mar 2010 18:54:18 -0700 Subject: Create one perf structure to rule them all * perf.h (stap_perf_probe): Define one structure for all our needs. * perf.c (_stp_perf_init): Use the new struct, return errors directly. (_stp_perf_exit): Use the new struct. * tapset-perfmon.cxx (perf_derived_probe_group::emit_module_decls): Use the stap_perf_probe definition from perf.h now. (perf_derived_probe_group::emit_module_init): Adapt. (perf_derived_probe_group::emit_module_exit): Adapt. --- runtime/perf.h | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'runtime/perf.h') diff --git a/runtime/perf.h b/runtime/perf.h index 19f89fe7..bdc79ade 100644 --- a/runtime/perf.h +++ b/runtime/perf.h @@ -16,22 +16,18 @@ * @brief Header file for performance monitoring hardware support */ -typedef struct { - struct perf_event *event; +struct stap_perf_probe { + struct perf_event_attr attr; + perf_overflow_handler_t callback; const char *pp; - void (*ph) (struct context *); -} perfcpu; + void (*ph) (struct context*); -typedef struct { /* per-cpu data. allocated with _stp_alloc_percpu() */ - perfcpu *pd; -} Perf; + struct perf_event **events; +}; -static Perf *_stp_perf_init (struct perf_event_attr *attr, - perf_overflow_handler_t callback, - const char *pp, - void (*ph) (struct context *) ); +static long _stp_perf_init (struct stap_perf_probe *stp); -static void _stp_perf_del (Perf *pe); +static void _stp_perf_del (struct stap_perf_probe *stp); #endif /* _PERF_H_ */ -- cgit