lkml.org 
[lkml]   [2012]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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



\
 
 \ /
  Last update: 2012-06-18 17:21    [W:0.166 / U:21.952 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site