summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/counts.c
diff options
context:
space:
mode:
authorJin Yao <yao.jin@linux.intel.com>2020-05-20 12:27:34 +0800
committerArnaldo Carvalho de Melo <acme@redhat.com>2020-05-28 10:03:27 -0300
commitcf4d9bd67cb1531a775599d04b9258c5e16b3fc6 (patch)
treef5721f45ef0480b64485cf1a60d4e0c69c03b394 /tools/perf/util/counts.c
parent72f02a947e89223b1b4a7825b68b2ba8fd2852c8 (diff)
downloadlinux-cf4d9bd67cb1531a775599d04b9258c5e16b3fc6.tar.gz
linux-cf4d9bd67cb1531a775599d04b9258c5e16b3fc6.tar.xz
perf counts: Reset prev_raw_counts counts
When we want to reset the evsel->prev_raw_counts, zeroing the aggr is not enough, we need to reset the perf_counts too. The perf_counts__reset zeros the perf_counts, and it should zero the aggr too. This patch changes perf_counts__reset to non-static, and calls it in evsel__reset_prev_raw_counts to reset the prev_raw_counts. Signed-off-by: Jin Yao <yao.jin@linux.intel.com> Reviewed-by: Jiri Olsa <jolsa@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jin Yao <yao.jin@intel.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/20200520042737.24160-3-yao.jin@linux.intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/counts.c')
-rw-r--r--tools/perf/util/counts.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/perf/util/counts.c b/tools/perf/util/counts.c
index 615c9f3e95cb..582f3aeaf5e4 100644
--- a/tools/perf/util/counts.c
+++ b/tools/perf/util/counts.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
#include <errno.h>
#include <stdlib.h>
+#include <string.h>
#include "evsel.h"
#include "counts.h"
#include <linux/zalloc.h>
@@ -42,10 +43,11 @@ void perf_counts__delete(struct perf_counts *counts)
}
}
-static void perf_counts__reset(struct perf_counts *counts)
+void perf_counts__reset(struct perf_counts *counts)
{
xyarray__reset(counts->loaded);
xyarray__reset(counts->values);
+ memset(&counts->aggr, 0, sizeof(struct perf_counts_values));
}
void evsel__reset_counts(struct evsel *evsel)