mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Leo Yan <leo.yan@linaro.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Ian Rogers <irogers@google.com>, Andi Kleen <ak@linux.intel.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Mike Leach <mike.leach@linaro.org>,
	Suzuki K Poulose <suzuki.poulose@arm.com>
Subject: Re: [PATCH v3] perf parse: Copy string to perf_evsel_config_term
Date: Wed, 8 Jan 2020 21:20:28 +0800	[thread overview]
Message-ID: <20200108132028.GC7797@leoy-ThinkPad-X240s> (raw)
In-Reply-To: <20200108102212.GA360164@krava>

Hi Mathieu, Jiri,

On Wed, Jan 08, 2020 at 11:22:12AM +0100, Jiri Olsa wrote:
> On Tue, Jan 07, 2020 at 02:45:27PM -0700, Mathieu Poirier wrote:

[...]

> > Many thanks for digging into this and stepping forward to provide a
> > solution - it is much appreciated.

My pleasure!

After think again, we do need to add CoreSight test into perf test
ASAP, thus we can pay attention for the failure at the early time.
This is another topic, let's fistly focus on resolve this issue.

> > > Fixes: 1dc925568f01 ("perf parse: Add a deep delete for parse event terms")
> > > Suggested-by: Jiri Olsa <jolsa@kernel.org>
> > > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> > > ---
> > >  tools/perf/util/evsel.c        |  2 ++
> > >  tools/perf/util/evsel_config.h |  2 ++
> > >  tools/perf/util/parse-events.c | 56 +++++++++++++++++++++-------------
> > >  3 files changed, 39 insertions(+), 21 deletions(-)
> > >
> > > diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> > > index a69e64236120..ab9925cc1aa7 100644
> > > --- a/tools/perf/util/evsel.c
> > > +++ b/tools/perf/util/evsel.c
> > > @@ -1265,6 +1265,8 @@ static void perf_evsel__free_config_terms(struct evsel *evsel)
> > >
> > >         list_for_each_entry_safe(term, h, &evsel->config_terms, list) {
> > >                 list_del_init(&term->list);
> > > +               if (term->free_str)
> > > +                       free(term->val.str);
> > 
> > This will do the trick but we can definitely do better.
> > 
> > Part of his comments on V2, Jiri hinted that we should move to a
> > common perf_evsel_config_term::str to replace {callgraph, drv_cfg,
> > branch}, something that will work because we have
> > perf_evsel_config_term::type.  That means  functions
> > apply_config_terms() and cs_etm_set_sink_attr() need to be modified
> > but the changes are quite small and well worth for the benefit they'll
> > carry.
> > 
> > With that the above becomes neat and clean.
> 
> I wonder if there was some reason for keeping the variables
> like that for every type and not just one per type as we did
> 'struct parse_events_term'
> 
> if the change is possible, the code would be cleaner, let's see ;-)

Thanks for the suggestion, I hope to do right thing in next spin :)

I tried to only use val.num and val.str in perf_evsel_config_term in
my local code, same with the struct parse_events_term, it does work and
the effort is not big.  Will send out patches soon (will use two
patches, one is for refactoring, another is for fixing regression).

Thanks,
Leo Yan

      reply	other threads:[~2020-01-08 13:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-07 12:03 Leo Yan
2020-01-07 21:45 ` Mathieu Poirier
2020-01-08 10:22   ` Jiri Olsa
2020-01-08 13:20     ` Leo Yan [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200108132028.GC7797@leoy-ThinkPad-X240s \
    --to=leo.yan@linaro.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=mike.leach@linaro.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=suzuki.poulose@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®