On 29.09.11 18:48:01, Arnaldo Carvalho de Melo wrote:
> From: Jim Cromie <[email protected]>
> 
> 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/[email protected]
> Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
> Signed-off-by: Jim Cromie <[email protected]>
> Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>

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 <[email protected]>
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 <[email protected]>
Cc: <[email protected]> # 3.2+
Signed-off-by: Robert Richter <[email protected]>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to