• Ian Rogers's avatar
    perf stat: Avoid merging/aggregating metric counts twice · 37f322cd
    Ian Rogers authored
    The added perf_stat_merge_counters combines uncore counters. When
    metrics are enabled, the counts are merged into a metric_leader via the
    stat-shadow saved_value logic. As the leader now is passed an aggregated
    count, it leads to all counters being added together twice and counts
    appearing approximately doubled in metrics.
    
    This change disables the saved_value merging of counts for evsels that
    are merged. It is recommended that later changes remove the saved_value
    entirely as the two layers of aggregation in the code is confusing.
    
    Fixes: 942c5593 ("perf stat: Add perf_stat_merge_counters()")
    Reported-by: default avatarPerry Taylor <perry.taylor@intel.com>
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Eduard Zingerman <eddyz87@gmail.com>
    Cc: Florian Fischer <florian.fischer@muhq.space>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
    Link: https://lore.kernel.org/r/20230209064447.83733-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    37f322cd
stat-shadow.c 36.2 KB