On Thu, May 07, 2020 at 02:58:19PM +0800, Jin Yao wrote:
SNIP
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index e0c1ad23c768..97ee941649e6 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -351,6 +351,16 @@ static void read_counters(struct timespec *rs)
}
}
+static void thread_stats_reset(struct perf_stat_config *config)
+{
+ int i;
+
+ if (config->stats) {
+ for (i = 0; i < config->stats_num; i++)
+ perf_stat__reset_shadow_per_stat(&config->stats[i]);
+ }
+}
+
static void process_interval(void)
{
struct timespec ts, rs;
@@ -359,6 +369,7 @@ static void process_interval(void)
diff_timespec(&rs, &ts, &ref_time);
perf_stat__reset_shadow_per_stat(&rt_stat);
+ thread_stats_reset(&stat_config);
can't you call in here perf_stat__reset_stats?
and if not, I know it's threads related, but new
and delete functions are:
runtime_stat_new, runtime_stat_delete
so let's call it runtime_stat_reset and place it next to
the new/delete functions
other than that it looks ok, thanks
jirka
read_counters(&rs);
if (STAT_RECORD) {
--
2.17.1