From efc90d68e951d1d784a6d5594b7c19e83ace0f3c Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 3 Jun 2009 19:36:07 +0200 Subject: [PATCH] --- yaml --- r: 147633 b: refs/heads/master c: 44db76c8553c328f4ae02481d77bb3a88ca17645 h: refs/heads/master i: 147631: b4e77efd1f8259cc98077100424f154c9ebc33af v: v3 --- [refs] | 2 +- trunk/Documentation/perf_counter/builtin-stat.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6a37a51442e9..702da655bf8c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e98e96fe43ae92fad0930f05fb2b298e49b9f3b5 +refs/heads/master: 44db76c8553c328f4ae02481d77bb3a88ca17645 diff --git a/trunk/Documentation/perf_counter/builtin-stat.c b/trunk/Documentation/perf_counter/builtin-stat.c index 2357a663b675..4fc0d80440e7 100644 --- a/trunk/Documentation/perf_counter/builtin-stat.c +++ b/trunk/Documentation/perf_counter/builtin-stat.c @@ -228,6 +228,7 @@ static int do_perfstat(int argc, const char **argv) int counter; int status; int pid; + int i; if (!system_wide) nr_cpus = 1; @@ -243,14 +244,17 @@ static int do_perfstat(int argc, const char **argv) if ((pid = fork()) < 0) perror("failed to fork"); + if (!pid) { if (execvp(argv[0], (char **)argv)) { perror(argv[0]); exit(-1); } } + while (wait(&status) >= 0) ; + prctl(PR_TASK_PERF_COUNTERS_DISABLE); t1 = rdclock(); @@ -259,8 +263,12 @@ static int do_perfstat(int argc, const char **argv) fflush(stdout); fprintf(stderr, "\n"); - fprintf(stderr, " Performance counter stats for \'%s\':\n", - argv[0]); + fprintf(stderr, " Performance counter stats for \'%s", argv[0]); + + for (i = 1; i < argc; i++) + fprintf(stderr, " %s", argv[i]); + + fprintf(stderr, "\':\n"); fprintf(stderr, "\n"); for (counter = 0; counter < nr_counters; counter++)