perf stat: Move perf_stat initialization counter process code
Moving perf_stat initialization counter process code, to make the reading path free of processing logic. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1435310967-14570-18-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
32ce0a47aa
Коммит
7ddb1b6bbf
|
@ -284,6 +284,7 @@ static int process_counter(struct perf_evsel *counter)
|
|||
int i, ret;
|
||||
|
||||
aggr->val = aggr->ena = aggr->run = 0;
|
||||
memset(ps->res_stats, 0, sizeof(ps->res_stats));
|
||||
|
||||
if (counter->per_pkg)
|
||||
zero_per_pkg(counter);
|
||||
|
@ -347,12 +348,8 @@ static int read_counter(struct perf_evsel *counter)
|
|||
static void read_counters(bool close)
|
||||
{
|
||||
struct perf_evsel *counter;
|
||||
struct perf_stat *ps;
|
||||
|
||||
evlist__for_each(evsel_list, counter) {
|
||||
ps = counter->priv;
|
||||
memset(ps->res_stats, 0, sizeof(ps->res_stats));
|
||||
|
||||
if (read_counter(counter))
|
||||
pr_warning("failed to read counter %s\n", counter->name);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче