perf stat: Move 'big_num' data to 'struct perf_stat_config'

Move the static variable 'big_num' to 'struct perf_stat_config', so that
it can be passed around and used outside 'perf stat' command.

Signed-off-by: Jiri Olsa <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
Jiri Olsa 2018-08-30 08:32:47 +02:00 • committed by Arnaldo Carvalho de Melo
commit 34ff0866d4
2 changed files with 5 additions and 4 deletions

View file

@ -151,7 +151,6 @@ static bool transaction_run;
static bool topdown_run = false;
static bool smi_cost = false;
static bool smi_reset = false;
static bool big_num = true;
static int big_num_opt = -1;
static bool group = false;
static const char *pre_cmd = NULL;
@ -192,6 +191,7 @@ static struct perf_stat_config stat_config = {
.run_count = 1,
.metric_only_len = METRIC_ONLY_LEN,
.walltime_nsecs_stats = &walltime_nsecs_stats,
.big_num = true,
};
static bool is_duration_time(struct perf_evsel *evsel)
@ -945,7 +945,7 @@ static void abs_printout(struct perf_stat_config *config,
if (config->csv_output) {
fmt = floor(sc) != sc ? "%.2f%s" : "%.0f%s";
} else {
if (big_num)
if (config->big_num)
fmt = floor(sc) != sc ? "%'18.2f%s" : "%'18.0f%s";
else
fmt = floor(sc) != sc ? "%18.2f%s" : "%18.0f%s";
@ -2847,9 +2847,9 @@ int cmd_stat(int argc, const char **argv)
parse_options_usage(NULL, stat_options, "x", 1);
goto out;
} else /* Nope, so disable big number formatting */
big_num = false;
stat_config.big_num = false;
} else if (big_num_opt == 0) /* User passed --no-big-num */
big_num = false;
stat_config.big_num = false;
setup_system_wide(argc);

View file

@ -103,6 +103,7 @@ struct perf_stat_config {
bool metric_only;
bool null_run;
bool ru_display;
bool big_num;
FILE *output;
unsigned int interval;
unsigned int timeout;