The -q/--quiet option is to suppress any message.  Sometimes users just
want to see the numbers and it can be used for that case.

Signed-off-by: Namhyung Kim <namhy...@kernel.org>
---
 tools/perf/Documentation/perf-diff.txt |  4 ++++
 tools/perf/builtin-diff.c              | 14 ++++++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/perf/Documentation/perf-diff.txt 
b/tools/perf/Documentation/perf-diff.txt
index 66dbe3dee74b..a79c84ae61aa 100644
--- a/tools/perf/Documentation/perf-diff.txt
+++ b/tools/perf/Documentation/perf-diff.txt
@@ -73,6 +73,10 @@ OPTIONS
        Be verbose, for instance, show the raw counts in addition to the
        diff.
 
+-q::
+--quiet::
+       Do not show any message.  (Suppress -v)
+
 -f::
 --force::
         Don't do ownership validation.
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index 70a289347591..1b96a3122228 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -691,7 +691,7 @@ static void hists__process(struct hists *hists)
        hists__precompute(hists);
        hists__output_resort(hists, NULL);
 
-       hists__fprintf(hists, true, 0, 0, 0, stdout,
+       hists__fprintf(hists, !quiet, 0, 0, 0, stdout,
                       symbol_conf.use_callchain);
 }
 
@@ -739,12 +739,14 @@ static void data_process(void)
                                hists__link(hists_base, hists);
                }
 
-               fprintf(stdout, "%s# Event '%s'\n#\n", first ? "" : "\n",
-                       perf_evsel__name(evsel_base));
+               if (!quiet) {
+                       fprintf(stdout, "%s# Event '%s'\n#\n", first ? "" : 
"\n",
+                               perf_evsel__name(evsel_base));
+               }
 
                first = false;
 
-               if (verbose || data__files_cnt > 2)
+               if (verbose > 0 || ((data__files_cnt > 2) && !quiet))
                        data__fprintf();
 
                /* Don't sort callchain for perf diff */
@@ -807,6 +809,7 @@ static const char * const diff_usage[] = {
 static const struct option options[] = {
        OPT_INCR('v', "verbose", &verbose,
                    "be more verbose (show symbol address, etc)"),
+       OPT_BOOLEAN('q', "quiet", &quiet, "Do not show any message"),
        OPT_BOOLEAN('b', "baseline-only", &show_baseline_only,
                    "Show only items with match in baseline"),
        OPT_CALLBACK('c', "compute", &compute,
@@ -1328,6 +1331,9 @@ int cmd_diff(int argc, const char **argv, const char 
*prefix __maybe_unused)
 
        argc = parse_options(argc, argv, options, diff_usage, 0);
 
+       if (quiet)
+               perf_quiet_option();
+
        if (symbol__init(NULL) < 0)
                return -1;
 
-- 
2.11.1

Reply via email to