[tip:perf/urgent] perf utils: Add perf_quiet_option()

From: tip-bot for Namhyung Kim
Date: Tue Feb 21 2017 - 03:16:25 EST


Commit-ID: 80df1988201ac6648609eba13d48aef9f7974c10
Gitweb: http://git.kernel.org/tip/80df1988201ac6648609eba13d48aef9f7974c10
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
AuthorDate: Fri, 17 Feb 2017 17:17:37 +0900
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Mon, 20 Feb 2017 11:16:32 -0300

perf utils: Add perf_quiet_option()

The perf_quiet_option() is to suppress all messages. It's intended to
be called just after parsing options.

Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: kernel-team@xxxxxxx
Link: http://lkml.kernel.org/r/20170217081742.17417-2-namhyung@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/util/debug.c | 17 +++++++++++++++++
tools/perf/util/debug.h | 1 +
2 files changed, 18 insertions(+)

diff --git a/tools/perf/util/debug.c b/tools/perf/util/debug.c
index c1838b6..03eb81f 100644
--- a/tools/perf/util/debug.c
+++ b/tools/perf/util/debug.c
@@ -203,11 +203,28 @@ int perf_debug_option(const char *str)
v = (v < 0) || (v > 10) ? 0 : v;
}

+ if (quiet)
+ v = -1;
+
*var->ptr = v;
free(s);
return 0;
}

+int perf_quiet_option(void)
+{
+ struct debug_variable *var = &debug_variables[0];
+
+ /* disable all debug messages */
+ while (var->name) {
+ *var->ptr = -1;
+ var++;
+ }
+
+ quiet = true;
+ return 0;
+}
+
#define DEBUG_WRAPPER(__n, __l) \
static int pr_ ## __n ## _wrapper(const char *fmt, ...) \
{ \
diff --git a/tools/perf/util/debug.h b/tools/perf/util/debug.h
index d242adc..98832f5 100644
--- a/tools/perf/util/debug.h
+++ b/tools/perf/util/debug.h
@@ -54,5 +54,6 @@ int veprintf(int level, int var, const char *fmt, va_list args);

int perf_debug_option(const char *str);
void perf_debug_setup(void);
+int perf_quiet_option(void);

#endif /* __PERF_DEBUG_H */