]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
perf script: Don't force less for non tty output with --xed
authorAndi Kleen <ak@linux.intel.com>
Fri, 22 May 2020 02:09:14 +0000 (19:09 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 28 May 2020 13:03:28 +0000 (10:03 -0300)
--xed currently forces less. When piping the output to other scripts
this can waste a lot of CPU time because less is rather slow.
I've seen it using up a full core on its own in a pipeline.
Only force less when the output is actually a terminal.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Link: http://lore.kernel.org/lkml/20200522020914.527564-1-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-script.c

index 4c0837efacebabe5bd80f34560a2a0864e167009..2810d5a7096bc37fcc37f6d04b05cda7cb0d6b56 100644 (file)
@@ -3301,7 +3301,10 @@ static int parse_xed(const struct option *opt __maybe_unused,
                     const char *str __maybe_unused,
                     int unset __maybe_unused)
 {
-       force_pager("xed -F insn: -A -64 | less");
+       if (isatty(1))
+               force_pager("xed -F insn: -A -64 | less");
+       else
+               force_pager("xed -F insn: -A -64");
        return 0;
 }