From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752407Ab1AERhs (ORCPT ); Wed, 5 Jan 2011 12:37:48 -0500 Received: from hera.kernel.org ([140.211.167.34]:32909 "EHLO hera.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752184Ab1AERhp (ORCPT ); Wed, 5 Jan 2011 12:37:45 -0500 Date: Wed, 5 Jan 2011 17:37:24 GMT From: tip-bot for Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, eranian@google.com, paulus@samba.org, acme@redhat.com, hpa@zytor.com, mingo@redhat.com, tzanussi@gmail.com, peterz@infradead.org, efault@gmx.de, fweisbec@gmail.com, tglx@linutronix.de, mingo@elte.hu Reply-To: mingo@redhat.com, hpa@zytor.com, acme@redhat.com, paulus@samba.org, eranian@google.com, linux-kernel@vger.kernel.org, tzanussi@gmail.com, efault@gmx.de, peterz@infradead.org, fweisbec@gmail.com, tglx@linutronix.de, mingo@elte.hu In-Reply-To: References: To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf session: Warn about errors when processing pipe events too Message-ID: Git-Commit-ID: 1109599458c06256064213dc44ca5f5fa8ee3833 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.3 (hera.kernel.org [127.0.0.1]); Wed, 05 Jan 2011 17:37:24 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 1109599458c06256064213dc44ca5f5fa8ee3833 Gitweb: http://git.kernel.org/tip/1109599458c06256064213dc44ca5f5fa8ee3833 Author: Arnaldo Carvalho de Melo AuthorDate: Tue, 4 Jan 2011 16:25:15 -0200 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 5 Jan 2011 14:53:10 -0200 perf session: Warn about errors when processing pipe events too Just like we do at __perf_session__process_events Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Tom Zanussi LKML-Reference: Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/session.c | 57 ++++++++++++++++++++++++-------------------- 1 files changed, 31 insertions(+), 26 deletions(-) diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index b163dfd..6fb4694 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -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; @@ -911,6 +940,7 @@ more: done: err = 0; out_err: + perf_session__warn_about_errors(self, ops); perf_session_free_sample_buffers(self); return err; } @@ -1023,32 +1053,7 @@ more: 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; }