On Thu, Nov 19, 2020 at 08:54:11PM +0530, Kajol Jain wrote:
> Commit e1c92a7fbbc5 ("perf tests: Add another metric parsing test")
> add another test for metric parsing. The test goes through all metrics
> compiled for arch within pmu events and try to parse them.
> 
> Right now this test is failing in powerpc machine.
> 
> Result in power9 platform:
> 
> [command]# ./perf test 10
> 10: PMU events                                                      :
> 10.1: PMU event table sanity                                        : Ok
> 10.2: PMU event map aliases                                         : Ok
> 10.3: Parsing of PMU event table metrics                            : Skip 
> (some metrics failed)
> 10.4: Parsing of PMU event table metrics with fake PMUs             : FAILED!
> 
> Issue is we are passing different runtime parameter value in 
> "expr__find_other"
> and "expr__parse" function which is called from function `metric_parse_fake`.
> And because of this parsing of hv-24x7 metrics is failing.
> 
> [command]# ./perf test 10 -vv
> .....
> hv_24x7/pm_mcs01_128b_rd_disp_port01,chip=1/ not found
> expr__parse failed
> test child finished with -1
> ---- end ----
> PMU events subtest 4: FAILED!
> 
> This patch fix this issue and change runtime parameter value to '0' in
> expr__parse function.
> 
> Result in power9 platform after this patch:
> 
> [command]# ./perf test 10
> 10: PMU events                                                      :
> 10.1: PMU event table sanity                                        : Ok
> 10.2: PMU event map aliases                                         : Ok
> 10.3: Parsing of PMU event table metrics                            : Skip 
> (some metrics failed)
> 10.4: Parsing of PMU event table metrics with fake PMUs             : Ok
> 
> Fixes: e1c92a7fbbc5 ("perf tests: Add another metric parsing test")
> Signed-off-by: Kajol Jain <[email protected]>

Acked-by: Jiri Olsa <[email protected]>

thanks,
jirka

> ---
>  tools/perf/tests/pmu-events.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/tests/pmu-events.c b/tools/perf/tests/pmu-events.c
> index ad2b21591275..0ca6a5a53523 100644
> --- a/tools/perf/tests/pmu-events.c
> +++ b/tools/perf/tests/pmu-events.c
> @@ -575,7 +575,7 @@ static int metric_parse_fake(const char *str)
>               }
>       }
>  
> -     if (expr__parse(&result, &ctx, str, 1))
> +     if (expr__parse(&result, &ctx, str, 0))
>               pr_err("expr__parse failed\n");
>       else
>               ret = 0;
> -- 
> 2.27.0
> 

Reply via email to