perf list: Honour 'event_glob' whem printing selectable PMUs
Some PMUs, like the 'intel_bts' one can be used as an event name, i.e.:
	$ perf record -e intel_bts:// usleep 1
Is a valid event name.
But the code printing such PMUs was not honouring the 'event_glob'
parameter, so the following line was always appearing:
  $ intel_bts//                                        [Kernel PMU event]
Fix it:
  $ [acme@felicio linux]$ perf list data
  List of pre-defined events (to be used in -e):
    uncore_imc/data_reads/                             [Kernel PMU event]
    uncore_imc/data_writes/                            [Kernel PMU event]
  $
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-ajb71858n7q7ao77b8pyy74w@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
			
			
This commit is contained in:
		| @@ -1008,7 +1008,8 @@ void print_pmu_events(const char *event_glob, bool name_only) | ||||
| 				goto out_enomem; | ||||
| 			j++; | ||||
| 		} | ||||
| 		if (pmu->selectable) { | ||||
| 		if (pmu->selectable && | ||||
| 		    (event_glob == NULL || strglobmatch(pmu->name, event_glob))) { | ||||
| 			char *s; | ||||
| 			if (asprintf(&s, "%s//", pmu->name) < 0) | ||||
| 				goto out_enomem; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user