Commit-ID:  5ed08dae9d2f2307c103e2dce94d801e74aefae4
Gitweb:     http://git.kernel.org/tip/5ed08dae9d2f2307c103e2dce94d801e74aefae4
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Thu, 22 Jan 2015 11:08:04 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Thu, 22 Jan 2015 11:16:34 -0300

perf trace: Fix error reporting for evsel pgfault constructor

In that case the only failure possible is not to have enough memory, as
we are just creating the evsels, not trying to access any system
facility such as debugfs files or syscalls.

Cc: Adrian Hunter <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Don Zickus <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Stephane Eranian <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
 tools/perf/builtin-trace.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 684609d..eaaa540 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -2063,18 +2063,12 @@ static int trace__run(struct trace *trace, int argc, 
const char **argv)
 
        if ((trace->trace_pgfaults & TRACE_PFMAJ) &&
            perf_evlist__add_pgfault(evlist, PERF_COUNT_SW_PAGE_FAULTS_MAJ)) {
-               /*
-                * FIXME: This one needs better error handling, as by now we
-                * already checked that debugfs is mounted and that we have 
access to it,
-                * so probably the case is that something is busted wrt this 
specific
-                * software event, ditto for the next gotos to out_error_tp...
-                */
-               goto out_error_tp;
+               goto out_error_mem;
        }
 
        if ((trace->trace_pgfaults & TRACE_PFMIN) &&
            perf_evlist__add_pgfault(evlist, PERF_COUNT_SW_PAGE_FAULTS_MIN))
-               goto out_error_tp;
+               goto out_error_mem;
 
        if (trace->sched &&
                perf_evlist__add_newtp(evlist, "sched", "sched_stat_runtime",
@@ -2225,6 +2219,9 @@ out_error:
        fprintf(trace->output, "%s\n", errbuf);
        goto out_delete_evlist;
 }
+out_error_mem:
+       fprintf(trace->output, "Not enough memory to run!\n");
+       goto out_delete_evlist;
 }
 
 static int trace__replay(struct trace *trace)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to