perf record: Print event causing perf_event_open() to fail
authorStephane Eranian <eranian@google.com>
Thu, 20 Sep 2012 16:19:45 +0000 (18:19 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 20 Sep 2012 17:44:17 +0000 (14:44 -0300)
Got tired of not getting the event that caused the perf_event_open()
syscall to fail. So I fixed the error message. This is very useful when
monitoring lots of events in a single run.

Signed-off-by: Stephane Eranian <eranian@google.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120920161945.GA7064@quad
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-record.c

index c643ed669ef94b944ae7d6a850512826cc1d29a4..2cb74343de3e29e876a2698e8d29271ab7b7c3c1 100644 (file)
@@ -297,8 +297,10 @@ try_again:
                        }
 
                        printf("\n");
-                       error("sys_perf_event_open() syscall returned with %d (%s).  /bin/dmesg may provide additional information.\n",
-                             err, strerror(err));
+                       error("sys_perf_event_open() syscall returned with %d "
+                             "(%s) for event %s. /bin/dmesg may provide "
+                             "additional information.\n",
+                             err, strerror(err), perf_evsel__name(pos));
 
 #if defined(__i386__) || defined(__x86_64__)
                        if (attr->type == PERF_TYPE_HARDWARE &&