Re: [PATCH v2 11/11] perf test: add expr test for pmu metrics
From: Ian Rogers
Date: Thu Apr 23 2020 - 10:22:31 EST
On Thu, Apr 23, 2020 at 4:29 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> On Wed, Apr 22, 2020 at 03:04:30PM -0700, Ian Rogers wrote:
>
> SNIP
>
> > +
> > +static int pmu_tests(void)
> > +{
> > + struct pmu_events_map *map;
> > + struct pmu_event *pe;
> > + int i, j, k;
> > + const char **ids;
> > + int idnum;
> > + int ret = 0;
> > + struct expr_parse_ctx ctx;
> > + double result;
> > +
> > + i = 0;
> > + for (;;) {
> > + map = &pmu_events_map[i++];
> > + if (!map->table) {
> > + map = NULL;
> > + break;
> > + }
> > + j = 0;
> > + for (;;) {
> > + pe = &map->table[j++];
> > + if (!pe->name && !pe->metric_group && !pe->metric_name)
> > + break;
> > + if (!pe->metric_expr)
> > + continue;
>
> so we go throught all the metrics for the current cpu
> and test the parsing on them.. great!
It's not just the current CPU (such as skylake) it is every map
(skylake, cascade lake, etc), but this only works for the architecture
that jevents built.
If jevents built all architectures then this could check them as well.
Perhaps there should be a jevents test suite, but I think even then
this test has value.
A worthy addition to this is checking that the events within the
expression parse, but this is good progress and worth landing.
Thanks,
Ian
> thanks,
> jirka
>