aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/builtin-trace.c')
-rw-r--r--tools/perf/builtin-trace.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 684609d7a83d..eaaa540bf1f3 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)
2063 2063
2064 if ((trace->trace_pgfaults & TRACE_PFMAJ) && 2064 if ((trace->trace_pgfaults & TRACE_PFMAJ) &&
2065 perf_evlist__add_pgfault(evlist, PERF_COUNT_SW_PAGE_FAULTS_MAJ)) { 2065 perf_evlist__add_pgfault(evlist, PERF_COUNT_SW_PAGE_FAULTS_MAJ)) {
2066 /* 2066 goto out_error_mem;
2067 * FIXME: This one needs better error handling, as by now we
2068 * already checked that debugfs is mounted and that we have access to it,
2069 * so probably the case is that something is busted wrt this specific
2070 * software event, ditto for the next gotos to out_error_tp...
2071 */
2072 goto out_error_tp;
2073 } 2067 }
2074 2068
2075 if ((trace->trace_pgfaults & TRACE_PFMIN) && 2069 if ((trace->trace_pgfaults & TRACE_PFMIN) &&
2076 perf_evlist__add_pgfault(evlist, PERF_COUNT_SW_PAGE_FAULTS_MIN)) 2070 perf_evlist__add_pgfault(evlist, PERF_COUNT_SW_PAGE_FAULTS_MIN))
2077 goto out_error_tp; 2071 goto out_error_mem;
2078 2072
2079 if (trace->sched && 2073 if (trace->sched &&
2080 perf_evlist__add_newtp(evlist, "sched", "sched_stat_runtime", 2074 perf_evlist__add_newtp(evlist, "sched", "sched_stat_runtime",
@@ -2225,6 +2219,9 @@ out_error:
2225 fprintf(trace->output, "%s\n", errbuf); 2219 fprintf(trace->output, "%s\n", errbuf);
2226 goto out_delete_evlist; 2220 goto out_delete_evlist;
2227} 2221}
2222out_error_mem:
2223 fprintf(trace->output, "Not enough memory to run!\n");
2224 goto out_delete_evlist;
2228} 2225}
2229 2226
2230static int trace__replay(struct trace *trace) 2227static int trace__replay(struct trace *trace)