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

Before:

  $ perf kallsyms vfs_open no_symbol
  vfs_open: [kernel] [kernel.kallsyms] 0xffffffff81207b90-0xffffffff81207c00 
(0xffffffff81207b90-0xffffffff81207c00)
  no_symbol: not found

After:

  $ perf kallsyms -q vfs_open no_symbol
  vfs_open: [kernel] [kernel.kallsyms] 0xffffffff81207b90-0xffffffff81207c00 
(0xffffffff81207b90-0xffffffff81207c00)

Suggested-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Namhyung Kim <[email protected]>
---
 tools/perf/Documentation/perf-kallsyms.txt | 4 ++++
 tools/perf/builtin-kallsyms.c              | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-kallsyms.txt 
b/tools/perf/Documentation/perf-kallsyms.txt
index 954ea9e21236..c3c2aebb4660 100644
--- a/tools/perf/Documentation/perf-kallsyms.txt
+++ b/tools/perf/Documentation/perf-kallsyms.txt
@@ -22,3 +22,7 @@ OPTIONS
 -v::
 --verbose=::
        Increase verbosity level, showing details about symbol table loading, 
etc.
+
+-q::
+--quiet::
+       Do not show any message.
diff --git a/tools/perf/builtin-kallsyms.c b/tools/perf/builtin-kallsyms.c
index 224bfc454b4a..45a8e50a7f21 100644
--- a/tools/perf/builtin-kallsyms.c
+++ b/tools/perf/builtin-kallsyms.c
@@ -29,7 +29,8 @@ static int __cmd_kallsyms(int argc, const char **argv)
                struct symbol *symbol = 
machine__find_kernel_function_by_name(machine, argv[i], &map);
 
                if (symbol == NULL) {
-                       printf("%s: not found\n", argv[i]);
+                       if (!quiet)
+                               printf("%s: not found\n", argv[i]);
                        continue;
                }
 
@@ -47,6 +48,7 @@ int cmd_kallsyms(int argc, const char **argv, const char 
*prefix __maybe_unused)
 {
        const struct option options[] = {
        OPT_INCR('v', "verbose", &verbose, "be more verbose (show counter open 
errors, etc)"),
+       OPT_BOOLEAN('q', "quiet", &quiet, "Do not show any message"),
        OPT_END()
        };
        const char * const kallsyms_usage[] = {
@@ -58,6 +60,9 @@ int cmd_kallsyms(int argc, const char **argv, const char 
*prefix __maybe_unused)
        if (argc < 1)
                usage_with_options(kallsyms_usage, options);
 
+       if (quiet)
+               perf_quiet_option();
+
        symbol_conf.sort_by_name = true;
        symbol_conf.try_vmlinux_path = (symbol_conf.vmlinux_name == NULL);
        if (symbol__init(NULL) < 0)
-- 
2.11.0

Reply via email to