On Thu, Oct 13, 2016 at 02:15:27PM -0700, Andi Kleen wrote:

SNIP

> @@ -236,15 +237,32 @@ PE_KERNEL_PMU_EVENT sep_dc
>       struct list_head *head;
>       struct parse_events_term *term;
>       struct list_head *list;
> +     struct perf_pmu *pmu = NULL;
> +     int ok = 0;
>  
> -     ALLOC_LIST(head);
> -     ABORT_ON(parse_events_term__num(&term, PARSE_EVENTS__TERM_TYPE_USER,
> -                                     $1, 1, &@1, NULL));
> -     list_add_tail(&term->list, head);
> -
> +     /* Add it for all PMUs that support the alias */
>       ALLOC_LIST(list);
> -     ABORT_ON(parse_events_add_pmu(data, list, "cpu", head));
> -     parse_events_terms__delete(head);
> +     while ((pmu = perf_pmu__scan(pmu)) != NULL) {
> +             struct perf_pmu_alias *alias;
> +
> +             list_for_each_entry(alias, &pmu->aliases, list) {
> +                     if (!strcasecmp(alias->name, $1)) {
> +                             ALLOC_LIST(head);
> +                             ABORT_ON(parse_events_term__num(&term, 
> PARSE_EVENTS__TERM_TYPE_USER,
> +                                     $1, 1, &@1, NULL));
> +                             list_add_tail(&term->list, head);
> +
> +                             if (!parse_events_add_pmu(data, list,
> +                                               pmu->name, head)) {
> +                                     ok++;
> +                             }
> +
> +                             parse_events_terms__delete(head);
> +                     }
> +             }
> +     }
> +     if (!ok)
> +             YYABORT;
>       $$ = list;
>  }
>  |

how about the next rule:

PE_PMU_EVENT_PRE '-' PE_PMU_EVENT_SUF sep_dc

I think that must be changed as well

jirka

Reply via email to