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>
This commit is contained in:
Andi Kleen 2020-05-21 19:09:14 -07:00 committed by Arnaldo Carvalho de Melo
parent e2ce1059b0
commit 8c3e05c827

View 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;
}