perf session: Remove perf_session from warn_errors signature

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-pxxm1liohog3d6i826x8sud8@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 75be989a
...@@ -1125,47 +1125,47 @@ static struct thread *perf_session__register_idle_thread(struct perf_session *se ...@@ -1125,47 +1125,47 @@ static struct thread *perf_session__register_idle_thread(struct perf_session *se
return thread; return thread;
} }
static void perf_session__warn_about_errors(const struct perf_session *session, static void perf_tool__warn_about_errors(const struct perf_tool *tool,
const struct perf_tool *tool) const struct events_stats *stats)
{ {
if (tool->lost == perf_event__process_lost && if (tool->lost == perf_event__process_lost &&
session->evlist->stats.nr_events[PERF_RECORD_LOST] != 0) { stats->nr_events[PERF_RECORD_LOST] != 0) {
ui__warning("Processed %d events and lost %d chunks!\n\n" ui__warning("Processed %d events and lost %d chunks!\n\n"
"Check IO/CPU overload!\n\n", "Check IO/CPU overload!\n\n",
session->evlist->stats.nr_events[0], stats->nr_events[0],
session->evlist->stats.nr_events[PERF_RECORD_LOST]); stats->nr_events[PERF_RECORD_LOST]);
} }
if (session->evlist->stats.nr_unknown_events != 0) { if (stats->nr_unknown_events != 0) {
ui__warning("Found %u unknown events!\n\n" ui__warning("Found %u unknown events!\n\n"
"Is this an older tool processing a perf.data " "Is this an older tool processing a perf.data "
"file generated by a more recent tool?\n\n" "file generated by a more recent tool?\n\n"
"If that is not the case, consider " "If that is not the case, consider "
"reporting to linux-kernel@vger.kernel.org.\n\n", "reporting to linux-kernel@vger.kernel.org.\n\n",
session->evlist->stats.nr_unknown_events); stats->nr_unknown_events);
} }
if (session->evlist->stats.nr_unknown_id != 0) { if (stats->nr_unknown_id != 0) {
ui__warning("%u samples with id not present in the header\n", ui__warning("%u samples with id not present in the header\n",
session->evlist->stats.nr_unknown_id); stats->nr_unknown_id);
} }
if (session->evlist->stats.nr_invalid_chains != 0) { if (stats->nr_invalid_chains != 0) {
ui__warning("Found invalid callchains!\n\n" ui__warning("Found invalid callchains!\n\n"
"%u out of %u events were discarded for this reason.\n\n" "%u out of %u events were discarded for this reason.\n\n"
"Consider reporting to linux-kernel@vger.kernel.org.\n\n", "Consider reporting to linux-kernel@vger.kernel.org.\n\n",
session->evlist->stats.nr_invalid_chains, stats->nr_invalid_chains,
session->evlist->stats.nr_events[PERF_RECORD_SAMPLE]); stats->nr_events[PERF_RECORD_SAMPLE]);
} }
if (session->evlist->stats.nr_unprocessable_samples != 0) { if (stats->nr_unprocessable_samples != 0) {
ui__warning("%u unprocessable samples recorded.\n" ui__warning("%u unprocessable samples recorded.\n"
"Do you have a KVM guest running and not using 'perf kvm'?\n", "Do you have a KVM guest running and not using 'perf kvm'?\n",
session->evlist->stats.nr_unprocessable_samples); stats->nr_unprocessable_samples);
} }
if (session->evlist->stats.nr_unordered_events != 0) if (stats->nr_unordered_events != 0)
ui__warning("%u out of order events recorded.\n", session->evlist->stats.nr_unordered_events); ui__warning("%u out of order events recorded.\n", stats->nr_unordered_events);
} }
volatile int session_done; volatile int session_done;
...@@ -1255,7 +1255,7 @@ static int __perf_session__process_pipe_events(struct perf_session *session, ...@@ -1255,7 +1255,7 @@ static int __perf_session__process_pipe_events(struct perf_session *session,
err = ordered_events__flush(session, tool, OE_FLUSH__FINAL); err = ordered_events__flush(session, tool, OE_FLUSH__FINAL);
out_err: out_err:
free(buf); free(buf);
perf_session__warn_about_errors(session, tool); perf_tool__warn_about_errors(tool, &session->evlist->stats);
ordered_events__free(&session->ordered_events); ordered_events__free(&session->ordered_events);
return err; return err;
} }
...@@ -1400,7 +1400,7 @@ static int __perf_session__process_events(struct perf_session *session, ...@@ -1400,7 +1400,7 @@ static int __perf_session__process_events(struct perf_session *session,
err = ordered_events__flush(session, tool, OE_FLUSH__FINAL); err = ordered_events__flush(session, tool, OE_FLUSH__FINAL);
out_err: out_err:
ui_progress__finish(); ui_progress__finish();
perf_session__warn_about_errors(session, tool); perf_tool__warn_about_errors(tool, &session->evlist->stats);
ordered_events__free(&session->ordered_events); ordered_events__free(&session->ordered_events);
session->one_mmap = false; session->one_mmap = false;
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment