perf top: Error handling for counter creation should parallel perf-record

5a7ed29 fixed up perf-record but not perf-top. Similar argument holds
for it -- fallback to PMU only if it does not exist and handle invalid
attributes separately.

Signed-off-by: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Robert Richter <robert.richter@amd.com>
Link: http://lkml.kernel.org/r/1343616783-6360-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
David Ahern 2012-07-29 20:53:03 -06:00 коммит произвёл Arnaldo Carvalho de Melo
Родитель 7405ed10f6
Коммит 1a31fc904f
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -943,8 +943,10 @@ try_again:
* based cpu-clock-tick sw counter, which * based cpu-clock-tick sw counter, which
* is always available even if no PMU support: * is always available even if no PMU support:
*/ */
if (attr->type == PERF_TYPE_HARDWARE && if ((err == ENOENT || err == ENXIO) &&
attr->config == PERF_COUNT_HW_CPU_CYCLES) { (attr->type == PERF_TYPE_HARDWARE) &&
(attr->config == PERF_COUNT_HW_CPU_CYCLES)) {
if (verbose) if (verbose)
ui__warning("Cycles event not supported,\n" ui__warning("Cycles event not supported,\n"
"trying to fall back to cpu-clock-ticks\n"); "trying to fall back to cpu-clock-ticks\n");