[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200526111512.GC333164@krava>
Date: Tue, 26 May 2020 13:15:12 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Jiri Olsa <jolsa@...nel.org>, lkml <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Michael Petlan <mpetlan@...hat.com>,
Ian Rogers <irogers@...gle.com>,
Stephane Eranian <eranian@...gle.com>,
Andi Kleen <ak@...ux.intel.com>
Subject: Re: [RFC 00/14] perf tests: Check on subtest for user specified test
On Mon, May 25, 2020 at 11:23:00AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Mon, May 25, 2020 at 12:42:05AM +0200, Jiri Olsa escreveu:
> > hi,
> > changes for using metric result in another metric seem
> > to change lot of core metric code, so it's better we
> > have some more tests before we do that.
> >
> > Sending as RFC as it's still alive and you guys might
> > have some other idea of how to do this.
> >
> > Also available in here:
> > git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
> > perf/fixes
>
> I applied the first three patches, will wait a bit for Ian and others to
> have some time to look at it, but one thing I thought was that instead
> of having parse_state->fake_pmu as a bool, you could have it as a
> pointer to the fake pmu, this way we would do away with that static
> thing in the middle of the parsing code.
>
> +static int check_id(const char *id)
> +{
> + struct parse_events_error error;
> + struct evlist *evlist;
> + int ret;
> +
> + /* Numbers are always valid. */
> + if (is_number(id))
> + return 0;
> +
> + evlist = evlist__new();
> + if (!evlist)
> + return -1;
> +
> + memset(&error, 0, sizeof(error));
> + ret = parse_events_fake(evlist, id, &error);
> + if (ret) {
> + pr_debug("str : %s\n", error.str);
> + pr_debug("help : %s\n", error.help);
> + pr_debug("first_str : %s\n", error.first_str);
> + pr_debug("first_help : %s\n", error.first_help);
> + }
> +
> + evlist__delete(evlist);
> + free(error.str);
> + free(error.help);
> + free(error.first_str);
> + free(error.first_help);
> + return ret;
> +}
>
>
> Would read:
>
> struct perf_pmu fake = { 0, };
> .
> .
> .
> ret = parse_events_fake_pmu(evlist, id, &fake, &error);
hi,
ok I'll check, but what I'd like to keep is to have the fake pmu
defined in just one place, I was initialy thinking to put it on
the list of pmus, but then it'd appear in other places we dont want,
like perf list ;-)
> .
> .
> .
>
>
> That also renames parse_events_fake() to parse_events_fake_pmu().
ok, thanks,
jirka
Powered by blists - more mailing lists