lkml.org 
[lkml]   [2011]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/6] perf tools: Emit clearer message for sys_perf_event_open ENOENT return
Em Tue, Jan 11, 2011 at 11:40:23AM -0700, David Ahern escreveu:
>
>
> On 01/10/11 17:28, Arnaldo Carvalho de Melo wrote:
> > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> >
> > Improve sys_perf_event_open ENOENT return handling in top and record, just
> > like 5a3446b does for stat.
> >
> > Cc: David Ahern <daahern@cisco.com>
> > Cc: Frederic Weisbecker <fweisbec@gmail.com>
> > Cc: Ingo Molnar <mingo@elte.hu>
> > Cc: Mike Galbraith <efault@gmx.de>
> > Cc: Paul Mackerras <paulus@samba.org>
> > Cc: Peter Zijlstra <peterz@infradead.org>
> > Cc: Stephane Eranian <eranian@google.com>
> > Cc: Tom Zanussi <tzanussi@gmail.com>
> > LKML-Reference: <new-submission>
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > ---
> > tools/perf/builtin-record.c | 3 +++
> > tools/perf/builtin-top.c | 2 ++
> > 2 files changed, 5 insertions(+), 0 deletions(-)
> >
> > diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> > index 7bc0490..7069bd3 100644
> > --- a/tools/perf/builtin-record.c
> > +++ b/tools/perf/builtin-record.c
> > @@ -331,6 +331,9 @@ try_again:
> > else if (err == ENODEV && cpu_list) {
> > die("No such device - did you specify"
> > " an out-of-range profile CPU?\n");
> > + } else if (err == ENOENT) {
> > + die("%s event is not supported. ",
> > + event_name(evsel));
>
> I think this interferes with the fallback from hardware profiling to
> software profiling. .e.g., in a VM with no PMU.

Argh, you're right, in both cases (top and record) :-\ Reverting.

> David
>
>
> > } else if (err == EINVAL && sample_id_all_avail) {
> > /*
> > * Old kernel, no attr->sample_id_type_all field
> > diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
> > index 1e67ab9..6ce4042 100644
> > --- a/tools/perf/builtin-top.c
> > +++ b/tools/perf/builtin-top.c
> > @@ -1247,6 +1247,8 @@ try_again:
> > die("Permission error - are you root?\n"
> > "\t Consider tweaking"
> > " /proc/sys/kernel/perf_event_paranoid.\n");
> > + if (err == ENOENT)
> > + die("%s event is not supported. ", event_name(evsel));
> > /*
> > * If it's cycles then fall back to hrtimer
> > * based cpu-clock-tick sw counter, which


\
 
 \ /
  Last update: 2011-01-11 20:01    [W:1.067 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site