From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Namhyung Kim <namhyung@kernel.org>,
Jiri Olsa <jolsa@redhat.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Wang Nan <wangnan0@huawei.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 02/23] perf test: Suppress libtraceevent warnings
Date: Mon, 19 Oct 2015 18:39:13 -0300 [thread overview]
Message-ID: <1445290774-13344-3-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1445290774-13344-1-git-send-email-acme@kernel.org>
From: Namhyung Kim <namhyung@kernel.org>
Currently libtraceevent emits warning on unsupported event formats.
However it'd be better to see them only -v option is given. To do that,
it needs to override the warning() function which is used in the
libtracevent. Thus add set_warning_routine() same as set_die_routine()
and check the verbose flag in our warning routine.
Before:
# perf test 5
5: parse events tests :
Warning: [kvmmmu:kvm_mmu_get_page] bad op token {
Warning: [kvmmmu:kvm_mmu_sync_page] bad op token {
Warning: [kvmmmu:kvm_mmu_unsync_page] bad op token {
Warning: [kvmmmu:kvm_mmu_prepare_zap_page] bad op token {
Warning: [kvmmmu:fast_page_fault] function is_writable_pte not defined
...
Ok
After:
# perf test 5
5: parse events tests : Ok
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1445268229-1601-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/parse-events.c | 14 ++++++++++++++
tools/perf/util/usage.c | 5 +++++
tools/perf/util/util.h | 1 +
3 files changed, 20 insertions(+)
diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c
index 0648b84a9171..636d7b42d844 100644
--- a/tools/perf/tests/parse-events.c
+++ b/tools/perf/tests/parse-events.c
@@ -5,6 +5,7 @@
#include <api/fs/fs.h>
#include "tests.h"
#include "debug.h"
+#include "util.h"
#include <linux/hw_breakpoint.h>
#include <api/fs/fs.h>
@@ -1753,6 +1754,17 @@ static int test_pmu_events(void)
return ret;
}
+static void debug_warn(const char *warn, va_list params)
+{
+ char msg[1024];
+
+ if (!verbose)
+ return;
+
+ vsnprintf(msg, sizeof(msg), warn, params);
+ fprintf(stderr, " Warning: %s\n", msg);
+}
+
int test__parse_events(void)
{
int ret1, ret2 = 0;
@@ -1764,6 +1776,8 @@ do { \
ret2 = ret1; \
} while (0)
+ set_warning_routine(debug_warn);
+
TEST_EVENTS(test__events);
if (test_pmu())
diff --git a/tools/perf/util/usage.c b/tools/perf/util/usage.c
index 4007aca8e0ca..6adfa18cdd4e 100644
--- a/tools/perf/util/usage.c
+++ b/tools/perf/util/usage.c
@@ -50,6 +50,11 @@ void set_die_routine(void (*routine)(const char *err, va_list params) NORETURN)
die_routine = routine;
}
+void set_warning_routine(void (*routine)(const char *err, va_list params))
+{
+ warn_routine = routine;
+}
+
void usage(const char *err)
{
usage_routine(err);
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 3d5b01e8978f..4cfb913aa9e0 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -145,6 +145,7 @@ extern void warning(const char *err, ...) __attribute__((format (printf, 1, 2)))
extern void set_die_routine(void (*routine)(const char *err, va_list params) NORETURN);
+extern void set_warning_routine(void (*routine)(const char *err, va_list params));
extern int prefixcmp(const char *str, const char *prefix);
extern void set_buildid_dir(const char *dir);
--
2.1.0
next prev parent reply other threads:[~2015-10-19 21:40 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-19 21:39 [GIT PULL 00/23] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 01/23] perf test: Silence tracepoint event failures Arnaldo Carvalho de Melo
2015-10-19 21:39 ` Arnaldo Carvalho de Melo [this message]
2015-10-19 21:39 ` [PATCH 03/23] perf bench: Improve the 'perf bench mem memcpy' code readability Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 04/23] perf bench: Default to all routines in 'perf bench mem' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 05/23] perf bench: Eliminate unused argument from bench_mem_common() Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 06/23] perf bench: Rename 'mem-memcpy.c' => 'mem-functions.c' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 07/23] perf bench: Remove the prefaulting complication from 'perf bench mem mem*' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 08/23] perf bench: List output formatting options on 'perf bench -h' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 09/23] perf bench mem: Change 'cycle' to 'cycles' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 10/23] perf bench mem: Rename 'routine' to 'routine_str' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 11/23] perf bench mem: Fix 'length' vs. 'size' naming confusion Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 12/23] perf bench mem: Improve user visible strings Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 13/23] perf bench mem: Reorganize the code a bit Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 14/23] perf bench: Harmonize all the -l/--nr_loops options Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 15/23] perf bench mem: Rename 'routine' to 'function' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 16/23] perf bench: Run benchmarks, don't test them Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 17/23] perf help: Change 'usage' to 'Usage' for consistency Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 18/23] perf stat: Rename perf_stat struct into perf_stat_evsel Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 19/23] perf stat: Add AGGR_UNSET mode Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 20/23] perf cpu_map: Make cpu_map__build_map global Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 21/23] perf cpu_map: Add data arg to cpu_map__build_map callback Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 22/23] perf script: Check output fields only for samples Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 23/23] perf bench: Use named initializers in the trailer too Arnaldo Carvalho de Melo
2015-10-20 7:32 ` [GIT PULL 00/23] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1445290774-13344-3-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome