Re: [PATCH 13/25] perf stat: Move perf_evsel__(alloc|free|reset)_stat_priv into evsel object

From: Arnaldo Carvalho de Melo
Date: Wed Jun 10 2015 - 14:49:42 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/