Re: [PATCH v1 4/9] perf util: Update and print per-thread shadow stats

From: Jin, Yao
Date: Tue Nov 21 2017 - 22:10:44 EST

On 11/21/2017 11:18 PM, Jiri Olsa wrote:
On Mon, Nov 20, 2017 at 10:43:39PM +0800, Jin Yao wrote:


if (num == 0)
diff --git a/tools/perf/util/stat.c b/tools/perf/util/stat.c
index 151e9ef..50bb16d 100644
--- a/tools/perf/util/stat.c
+++ b/tools/perf/util/stat.c
@@ -278,9 +278,16 @@ process_counter_values(struct perf_stat_config *config, struct perf_evsel *evsel
perf_evsel__compute_deltas(evsel, cpu, thread, count);
perf_counts_values__scale(count, config->scale, NULL);
if (config->aggr_mode == AGGR_NONE)
- perf_stat__update_shadow_stats(evsel, count->val, cpu);
- if (config->aggr_mode == AGGR_THREAD)
- perf_stat__update_shadow_stats(evsel, count->val, 0);
+ perf_stat__update_shadow_stats(evsel, count->val, cpu,
+ NULL);
+ if (config->aggr_mode == AGGR_THREAD) {
+ if (config->stats)
+ perf_stat__update_shadow_stats(evsel,
+ count->val, 0, &config->stats[thread]);

please add this part together with config->stats allocation/usage
and keep this change only about adding the struct runtime_stat *stat
into the code path with no functional change


The interface of perf_stat__update_shadow_stats() is changed (added with a new parameter 'struct runtime_stat *stat').

If I move above part to another patch (e.g. move to v1-0006-perf-stat-Allocate-shadow-stats-buffer-for-thread.patch), the compilation would be failed if only applying with this patch. It's not good for git bisect.

Jin Yao