lkml.org 
[lkml]   [2015]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] perf tool: Add event name to error message for filters
Em Tue, Mar 24, 2015 at 12:10:17PM -0400, David Ahern escreveu:
> Use of a bad filter currently generates the message:
> Error: failed to set filter with 22 (Invalid argument)
>
> Add the event name to make it clear to which event the filter
> failed to apply:
> Error: Failed to set filter on event sched:sg_lb_stats: 22: Invalid argument
>
> Signed-off-by: David Ahern <david.ahern@oracle.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>


> +++ b/tools/perf/util/evsel.c
> @@ -807,9 +807,19 @@ static int perf_evsel__run_ioctl(struct perf_evsel *evsel, int ncpus, int nthrea
> int perf_evsel__set_filter(struct perf_evsel *evsel, int ncpus, int nthreads,
> const char *filter)
> {
> - return perf_evsel__run_ioctl(evsel, ncpus, nthreads,
> - PERF_EVENT_IOC_SET_FILTER,
> - (void *)filter);
> + int err;
> + char msg[512];
> +
> + err = perf_evsel__run_ioctl(evsel, ncpus, nthreads,
> + PERF_EVENT_IOC_SET_FILTER,
> + (void *)filter);
> + if (err) {
> + error("Failed to set filter on event %s: %d: %s\n",
> + perf_evsel__name(evsel), errno,
> + strerror_r(errno, msg, sizeof(msg)));

Humm, probably this will be the only call to error() from evsel.c,
making it require the error() routine, which in turn will break the
python binding, lemme check...

If that is the case we'll have to somehow propagate to the caller of
perf_evlist__apply_filters what was the evsel that had a filter that
caused the problem.

- Arnaldo

> + }
> +
> + return err;
> }
>
> int perf_evsel__enable(struct perf_evsel *evsel, int ncpus, int nthreads)
> --
> 2.2.1


\
 
 \ /
  Last update: 2015-03-24 22:41    [W:0.040 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site