Re: [PATCH 2/3] perf lock: Add -q/--quiet option

From: Ian Rogers
Date: Fri Sep 23 2022 - 22:50:00 EST


On Fri, Sep 23, 2022 at 5:42 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> Like perf report, this option is to suppress header and debug messages.
>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Acked-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

> ---
> tools/perf/Documentation/perf-lock.txt | 4 ++++
> tools/perf/builtin-lock.c | 27 +++++++++++++++-----------
> 2 files changed, 20 insertions(+), 11 deletions(-)
>
> diff --git a/tools/perf/Documentation/perf-lock.txt b/tools/perf/Documentation/perf-lock.txt
> index b23e76200ac2..3b1e16563b79 100644
> --- a/tools/perf/Documentation/perf-lock.txt
> +++ b/tools/perf/Documentation/perf-lock.txt
> @@ -40,6 +40,10 @@ COMMON OPTIONS
> --verbose::
> Be more verbose (show symbol address, etc).
>
> +-q::
> +--quiet::
> + Do not show any message. (Suppress -v)
> +
> -D::
> --dump-raw-trace::
> Dump raw trace in ASCII.
> diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c
> index 1c0d52384d9e..9722d4ab2e55 100644
> --- a/tools/perf/builtin-lock.c
> +++ b/tools/perf/builtin-lock.c
> @@ -1250,7 +1250,7 @@ static void print_bad_events(int bad, int total)
> for (i = 0; i < BROKEN_MAX; i++)
> broken += bad_hist[i];
>
> - if (broken == 0 && !verbose)
> + if (quiet || (broken == 0 && !verbose))
> return;
>
> pr_info("\n=== output for debug===\n\n");
> @@ -1269,10 +1269,12 @@ static void print_result(void)
> char cut_name[20];
> int bad, total, printed;
>
> - pr_info("%20s ", "Name");
> - list_for_each_entry(key, &lock_keys, list)
> - pr_info("%*s ", key->len, key->header);
> - pr_info("\n\n");
> + if (!quiet) {
> + pr_info("%20s ", "Name");
> + list_for_each_entry(key, &lock_keys, list)
> + pr_info("%*s ", key->len, key->header);
> + pr_info("\n\n");
> + }
>
> bad = total = printed = 0;
> while ((st = pop_from_result())) {
> @@ -1482,13 +1484,15 @@ static void print_contention_result(struct lock_contention *con)
> struct lock_key *key;
> int bad, total, printed;
>
> - list_for_each_entry(key, &lock_keys, list)
> - pr_info("%*s ", key->len, key->header);
> + if (!quiet) {
> + list_for_each_entry(key, &lock_keys, list)
> + pr_info("%*s ", key->len, key->header);
>
> - if (show_thread_stats)
> - pr_info(" %10s %s\n\n", "pid", "comm");
> - else
> - pr_info(" %10s %s\n\n", "type", "caller");
> + if (show_thread_stats)
> + pr_info(" %10s %s\n\n", "pid", "comm");
> + else
> + pr_info(" %10s %s\n\n", "type", "caller");
> + }
>
> bad = total = printed = 0;
> if (use_bpf)
> @@ -1865,6 +1869,7 @@ int cmd_lock(int argc, const char **argv)
> "file", "vmlinux pathname"),
> OPT_STRING(0, "kallsyms", &symbol_conf.kallsyms_name,
> "file", "kallsyms pathname"),
> + OPT_BOOLEAN('q', "quiet", &quiet, "Do not show any message"),
> OPT_END()
> };
>
> --
> 2.37.3.998.g577e59143f-goog
>