Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 223976
b: refs/heads/master
c: 1109599
h: refs/heads/master
v: v3
  • Loading branch information
Arnaldo Carvalho de Melo committed Jan 5, 2011
1 parent 92a575f commit 1b0afa0
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d030260ad33b482a371f999c7e9db79ef7a2111f
refs/heads/master: 1109599458c06256064213dc44ca5f5fa8ee3833
57 changes: 31 additions & 26 deletions trunk/tools/perf/util/session.c
Original file line number Diff line number Diff line change
Expand Up @@ -838,6 +838,35 @@ static struct thread *perf_session__register_idle_thread(struct perf_session *se
return thread;
}

static void perf_session__warn_about_errors(const struct perf_session *session,
const struct perf_event_ops *ops)
{
if (ops->lost == event__process_lost &&
session->hists.stats.total_lost != 0) {
ui__warning("Processed %Lu events and LOST %Lu!\n\n"
"Check IO/CPU overload!\n\n",
session->hists.stats.total_period,
session->hists.stats.total_lost);
}

if (session->hists.stats.nr_unknown_events != 0) {
ui__warning("Found %u unknown events!\n\n"
"Is this an older tool processing a perf.data "
"file generated by a more recent tool?\n\n"
"If that is not the case, consider "
"reporting to linux-kernel@vger.kernel.org.\n\n",
session->hists.stats.nr_unknown_events);
}

if (session->hists.stats.nr_invalid_chains != 0) {
ui__warning("Found invalid callchains!\n\n"
"%u out of %u events were discarded for this reason.\n\n"
"Consider reporting to linux-kernel@vger.kernel.org.\n\n",
session->hists.stats.nr_invalid_chains,
session->hists.stats.nr_events[PERF_RECORD_SAMPLE]);
}
}

#define session_done() (*(volatile int *)(&session_done))
volatile int session_done;

Expand Down Expand Up @@ -911,6 +940,7 @@ static int __perf_session__process_pipe_events(struct perf_session *self,
done:
err = 0;
out_err:
perf_session__warn_about_errors(self, ops);
perf_session_free_sample_buffers(self);
return err;
}
Expand Down Expand Up @@ -1023,32 +1053,7 @@ int __perf_session__process_events(struct perf_session *session,
flush_sample_queue(session, ops);
out_err:
ui_progress__delete(progress);

if (ops->lost == event__process_lost &&
session->hists.stats.total_lost != 0) {
ui__warning("Processed %Lu events and LOST %Lu!\n\n"
"Check IO/CPU overload!\n\n",
session->hists.stats.total_period,
session->hists.stats.total_lost);
}

if (session->hists.stats.nr_unknown_events != 0) {
ui__warning("Found %u unknown events!\n\n"
"Is this an older tool processing a perf.data "
"file generated by a more recent tool?\n\n"
"If that is not the case, consider "
"reporting to linux-kernel@vger.kernel.org.\n\n",
session->hists.stats.nr_unknown_events);
}

if (session->hists.stats.nr_invalid_chains != 0) {
ui__warning("Found invalid callchains!\n\n"
"%u out of %u events were discarded for this reason.\n\n"
"Consider reporting to linux-kernel@vger.kernel.org.\n\n",
session->hists.stats.nr_invalid_chains,
session->hists.stats.nr_events[PERF_RECORD_SAMPLE]);
}

perf_session__warn_about_errors(session, ops);
perf_session_free_sample_buffers(session);
return err;
}
Expand Down

0 comments on commit 1b0afa0

Please sign in to comment.