summaryrefslogtreecommitdiff
path: root/tools/perf
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2020-05-22 05:09:14 +0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2020-05-28 16:03:28 +0300
commit8c3e05c827ef687215723680862ebd2d431dee49 (patch)
tree0335afd20648ba3b393a4813a2d8ac1fa7da80da /tools/perf
parente2ce1059b0b3d032aa07cc51c24d28ec498feb5f (diff)
downloadlinux-8c3e05c827ef687215723680862ebd2d431dee49.tar.xz
perf script: Don't force less for non tty output with --xed
--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>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/builtin-script.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 4c0837efaceb..2810d5a7096b 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -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;
}