Em Wed, Jun 10, 2015 at 08:10:46PM +0200, Jiri Olsa escreveu: > Moving perf_evsel__(alloc|free|reset)_stat_priv into evsel object, > so it could be used outside stat object in following patches. > +++ b/tools/perf/util/evsel.c > +void perf_evsel__reset_stat_priv(struct perf_evsel *evsel) > +{ > + int i; > + struct perf_stat *ps = evsel->priv; > + > + for (i = 0; i < 3; i++) > + init_stats(&ps->res_stats[i]); > + > + perf_stat_evsel_id_init(evsel); > +}
Please move this to some 'stat' specific place, so that evsel.c has nothing that is tool specific, like references to 'struct perf_stat'. - Arnaldo > +int perf_evsel__alloc_stat_priv(struct perf_evsel *evsel) > +{ > + evsel->priv = zalloc(sizeof(struct perf_stat)); > + if (evsel->priv == NULL) > + return -ENOMEM; > + perf_evsel__reset_stat_priv(evsel); > + return 0; > +} > + > +void perf_evsel__free_stat_priv(struct perf_evsel *evsel) > +{ > + zfree(&evsel->priv); > +} > + > struct perf_counts *perf_counts__alloc(int ncpus, int nthreads) > { > struct perf_counts *counts = zalloc(sizeof(*counts)); > diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h > index 0d495bd161c3..051175098f0b 100644 > --- a/tools/perf/util/evsel.h > +++ b/tools/perf/util/evsel.h > @@ -192,6 +192,11 @@ int perf_evsel__group_desc(struct perf_evsel *evsel, > char *buf, size_t size); > > int perf_evsel__alloc_id(struct perf_evsel *evsel, int ncpus, int nthreads); > int perf_evsel__alloc_counts(struct perf_evsel *evsel, int ncpus, int > nthreads); > + > +void perf_evsel__reset_stat_priv(struct perf_evsel *evsel); > +int perf_evsel__alloc_stat_priv(struct perf_evsel *evsel); > +void perf_evsel__free_stat_priv(struct perf_evsel *evsel); > + > void perf_evsel__reset_counts(struct perf_evsel *evsel); > void perf_evsel__free_counts(struct perf_evsel *evsel); > void perf_evsel__close_fd(struct perf_evsel *evsel, int ncpus, int nthreads); > -- > 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/