From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933359AbbFJStk (ORCPT ); Wed, 10 Jun 2015 14:49:40 -0400 Received: from mail.kernel.org ([198.145.29.136]:44460 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751826AbbFJStb (ORCPT ); Wed, 10 Jun 2015 14:49:31 -0400 Date: Wed, 10 Jun 2015 15:49:25 -0300 From: Arnaldo Carvalho de Melo To: Jiri Olsa Cc: lkml , Adrian Hunter , Andi Kleen , David Ahern , Ingo Molnar , Namhyung Kim , Peter Zijlstra , Stephane Eranian Subject: Re: [PATCH 13/25] perf stat: Move perf_evsel__(alloc|free|reset)_stat_priv into evsel object Message-ID: <20150610184925.GA3332@kernel.org> References: <1433959858-31858-1-git-send-email-jolsa@kernel.org> <1433959858-31858-14-git-send-email-jolsa@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1433959858-31858-14-git-send-email-jolsa@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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