Messages in this thread | | | From | Ian Rogers <> | Date | Thu, 23 Apr 2020 09:21:23 -0700 | Subject | Re: [PATCH v2 11/11] perf test: add expr test for pmu metrics |
| |
On Thu, Apr 23, 2020 at 8:11 AM John Garry <john.garry@huawei.com> wrote: > > On 23/04/2020 15:22, Ian Rogers wrote: > > On Thu, Apr 23, 2020 at 4:29 AM Jiri Olsa <jolsa@redhat.com> 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. > > note: there is test__pmu_events(), which verifies that some test events > generated in pmu-events.c are as expected, and also verifies that we > create PMU events aliases as expected (for those test events). Nothing > is done for metrics, ATM.
Thanks John, that sounds like the right place to start.
Ian
> Thanks, > John
| |