[RFC 0/6] perf tools: Add perf_evlist errno

From: Jiri Olsa
Date: Fri Nov 29 2013 - 06:46:20 EST


hi,
Andi reported wrong error message for :S modifier
on kernel without event ID ioctl support.

The reason was that the ioctl failed, but the error was
printed like the mmap would:

$ perf.old record -e '{cycles,cache-misses}:S' ls
failed to mmap with 25 (Inappropriate ioctl for device)
ls: Terminated

I experimentally added sort of 'libc errno' interface for
perf_evlist to be able to get proper error message, like:

$ perf record -e '{cycles,cache-misses}:S' ls
Cannot read event group on this kernel.
Please consider kernel update (v3.12+).
ls: Terminated

I'm not sure about this approach. Maybe it'd be better be more
global..? So before throwing this out, sending it as RFC ;-)

thanks for ideas,
jirka

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
---
Jiri Olsa (6):
perf tools: Add perf_evlist error string interface
perf tools: Add PERF_EVLIST__ERRNO_MMAP internal error
perf tools: Add PERF_EVLIST__ERRNO_OPEN internal error
perf tools: Add PERF_EVLIST__ERRNO_IOCTL_ID_GROUP internal error
perf tools: Add PERF_EVLIST__ERRNO_NEWTP internal error
perf tools: Use perf_evlist__strerror in kvm/record/top/trace commands

tools/perf/builtin-kvm.c | 2 +-
tools/perf/builtin-record.c | 13 +------
tools/perf/builtin-top.c | 3 +-
tools/perf/builtin-trace.c | 34 ++++++++---------
tools/perf/util/evlist.c | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
tools/perf/util/evlist.h | 23 +++++++++++-
6 files changed, 181 insertions(+), 99 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/