perf pmu: Special case uncore_ prefix
authorAndi Kleen <ak@linux.intel.com>
Mon, 20 Mar 2017 20:17:04 +0000 (13:17 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 21 Mar 2017 19:10:59 +0000 (16:10 -0300)
Special case uncore_ prefix in PMU match, to allow for shorter event
uncore specifications.

Before:

  perf stat -a -e uncore_cbox/event=0x35,umask=0x1,filter_opc=0x19C/ sleep 1

After

  perf stat -a -e cbox/event=0x35,umask=0x1,filter_opc=0x19C/ sleep 1

Committer tests:

   # perf list uncore

  List of pre-defined events (to be used in -e):

    uncore_cbox_0/clockticks/                       [Kernel PMU event]
    uncore_cbox_1/clockticks/                       [Kernel PMU event]
    uncore_imc/data_reads/                          [Kernel PMU event]
    uncore_imc/data_writes/                         [Kernel PMU event]

  # perf stat -a -e cbox_0/clockticks/ sleep 1

   Performance counter stats for 'system wide':

  281,474,976,653,084      cbox_0/clockticks/

       1.000870129 seconds time elapsed

  #

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: http://lkml.kernel.org/r/20170320201711.14142-7-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/parse-events.y

index 20935b17753d976c43aa0bac4babf8edade51628..04fd8c9af9f9578c0f8f44a3c8cb05cf087d992f 100644 (file)
@@ -239,6 +239,9 @@ PE_NAME opt_event_config
                while ((pmu = perf_pmu__scan(pmu)) != NULL) {
                        char *name = pmu->name;
 
+                       if (!strncmp(name, "uncore_", 7) &&
+                           strncmp($1, "uncore_", 7))
+                               name += 7;
                        if (!strncmp($1, name, strlen($1))) {
                                if (parse_events_copy_term_list(orig_terms, &terms))
                                        YYABORT;