perf stat: better error message for unsupported events
authorDavid Ahern <[email protected]>
Sun, 9 Jan 2011 18:21:12 +0000 (11:21 -0700)
committerArnaldo Carvalho de Melo <[email protected]>
Mon, 10 Jan 2011 13:34:53 +0000 (11:34 -0200)
For unsupported events (e.g., H/W events when running in a VM)
perf stat currently fails with the error message:

      Error: open_counter returned with 2 (No such file or directory).
    /bin/dmesg may provide additional information.

      Fatal: Not all events could be opened.

dmesg is of no help and it is not clear as to why it fails to
open the counter. This patch changes the error message to

      Error: cache-misses event is not supported.
      Fatal: Not all events could be opened.

Cc: Ingo Molnar <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: [email protected]
LPU-Reference: <1294597272[email protected]>
Signed-off-by: David Ahern <[email protected]>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
tools/perf/builtin-stat.c

index 2dfcb613e66be4337ca4e4f1373ae0522e25c232..c385a63ebfd177461c83d910cbe9f62e89600432 100644 (file)
@@ -316,6 +316,8 @@ static int run_perf_stat(int argc __used, const char **argv)
                                      "\t Consider tweaking"
                                      " /proc/sys/kernel/perf_event_paranoid or running as root.",
                                      system_wide ? "system-wide " : "");
+                       } else if (errno == ENOENT) {
+                               error("%s event is not supported. ", event_name(counter));
                        } else {
                                error("open_counter returned with %d (%s). "
                                      "/bin/dmesg may provide additional information.\n",