Messages in this thread Patch in this message | | | Date | Mon, 18 Jun 2012 16:51:08 +0200 | From | Robert Richter <> | Subject | [PATCH] perf stat: Fix default logfd to use stderr |
| |
On 29.09.11 18:48:01, Arnaldo Carvalho de Melo wrote: > From: Jim Cromie <jim.cromie@gmail.com> > > This perf stat option emulates valgrind's --log-fd option, allowing the > user to send perf results elsewhere, and leaving stderr for use by the > program under test. This complements --output file option, and is > mutually exclusive with it. > > 3>results perf stat --log-fd 3 -- $cmd > 3>>results perf stat --log-fd 3 --append -- $cmd > > The perl distro's make test.valgrind target uses valgrind's --log-fd > option, I've adapted it to invoke perf also, and tested this patch > there. > > Link: http://lkml.kernel.org/r/1315437244-3788-2-git-send-email-jim.cromie@gmail.com > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> > Signed-off-by: Jim Cromie <jim.cromie@gmail.com> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
With certain shell redirections this (56f3bae) fails with a log fd setup failure. Fix below.
-Robert
From fd83259163c8022f9264a119d5ef7df594702f3a Mon Sep 17 00:00:00 2001 From: Robert Richter <robert.richter@amd.com> Date: Thu, 7 Jun 2012 17:41:52 +0200 Subject: [PATCH] perf stat: Fix default logfd to use stderr
When running perf-stat in certain shell environments with stdout redirection there is a logging file descriptor setup failure:
Failed opening logfd: Invalid argument
Fixing this by setting the default fd to the correct value of 2.
Cc: Jim Cromie <jim.cromie@gmail.com> Cc: <stable@vger.kernel.org> # 3.2+ Signed-off-by: Robert Richter <robert.richter@amd.com> --- tools/perf/builtin-stat.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 2625899..c47e7d3 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -195,7 +195,7 @@ static bool csv_output = false; static bool group = false; static const char *output_name = NULL; static FILE *output = NULL; -static int output_fd; +static int output_fd = 2; static volatile int done = 0; -- 1.7.8.4
-- Advanced Micro Devices, Inc. Operating System Research Center
| |