|
@@ -193,6 +193,7 @@ static int big_num_opt = -1;
|
|
|
static const char *cpu_list;
|
|
|
static const char *csv_sep = NULL;
|
|
|
static bool csv_output = false;
|
|
|
+static bool group = false;
|
|
|
|
|
|
static volatile int done = 0;
|
|
|
|
|
@@ -280,14 +281,14 @@ static int create_perf_stat_counter(struct perf_evsel *evsel)
|
|
|
attr->inherit = !no_inherit;
|
|
|
|
|
|
if (system_wide)
|
|
|
- return perf_evsel__open_per_cpu(evsel, evsel_list->cpus, false);
|
|
|
+ return perf_evsel__open_per_cpu(evsel, evsel_list->cpus, group);
|
|
|
|
|
|
if (target_pid == -1 && target_tid == -1) {
|
|
|
attr->disabled = 1;
|
|
|
attr->enable_on_exec = 1;
|
|
|
}
|
|
|
|
|
|
- return perf_evsel__open_per_thread(evsel, evsel_list->threads, false);
|
|
|
+ return perf_evsel__open_per_thread(evsel, evsel_list->threads, group);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1043,6 +1044,8 @@ static const struct option options[] = {
|
|
|
"stat events on existing thread id"),
|
|
|
OPT_BOOLEAN('a', "all-cpus", &system_wide,
|
|
|
"system-wide collection from all CPUs"),
|
|
|
+ OPT_BOOLEAN('g', "group", &group,
|
|
|
+ "put the counters into a counter group"),
|
|
|
OPT_BOOLEAN('c', "scale", &scale,
|
|
|
"scale/normalize counters"),
|
|
|
OPT_INCR('v', "verbose", &verbose,
|