[tip:perfcounters/urgent] perf stat: Add -n/--null option to run without counters

From: tip-bot for Ingo Molnar
Date: Sat Jun 27 2009 - 00:32:30 EST


Commit-ID: 0cfb7a13b8e4e0afd4b856156ab16a182de7505b
Gitweb: http://git.kernel.org/tip/0cfb7a13b8e4e0afd4b856156ab16a182de7505b
Author: Ingo Molnar <mingo@xxxxxxx>
AuthorDate: Sat, 27 Jun 2009 06:10:30 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Sat, 27 Jun 2009 06:11:24 +0200

perf stat: Add -n/--null option to run without counters

Allow a no-counters run. This can be useful to measure just
elapsed wall-clock time - or to assess the raw overhead of perf
stat itself, without running any counters.

Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>


---
tools/perf/builtin-stat.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 8420ec5..cdcd058 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -70,6 +70,7 @@ static int run_count = 1;
static int inherit = 1;
static int scale = 1;
static int target_pid = -1;
+static int null_run = 0;

static int fd[MAX_NR_CPUS][MAX_COUNTERS];

@@ -461,6 +462,8 @@ static const struct option options[] = {
"be more verbose (show counter open errors, etc)"),
OPT_INTEGER('r', "repeat", &run_count,
"repeat command and print average + stddev (max: 100)"),
+ OPT_BOOLEAN('n', "null", &null_run,
+ "null run - dont start any counters"),
OPT_END()
};

@@ -476,7 +479,7 @@ int cmd_stat(int argc, const char **argv, const char *prefix)
if (run_count <= 0 || run_count > MAX_RUN)
usage_with_options(stat_usage, options);

- if (!nr_counters)
+ if (!null_run && !nr_counters)
nr_counters = 8;

nr_cpus = sysconf(_SC_NPROCESSORS_ONLN);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/