Re: [PATCH 1/1] Revert "perf hist: Fix bogus profiles when filters are enabled"
From: Dmitry Vyukov
Date: Wed Aug 20 2025 - 21:14:37 EST
On Wed, 20 Aug 2025 at 10:23, Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
>
> This reverts commit 8b4799e4f0f40a4ec737bf870aa38d06288bf0fb.
>
> Not combining entries in 'perf top', so we're getting multiple lines for
> the same symbol, with the same address.
>
> To test it, simply run 'perf top', then do /acpi to see just symbols
> starting with acpi_ and notice that there are various lines with the
> same symbol, press V to see the address and its the same.
With this revert, does it show 1 entry but with a wrong percent?
I am not sure why there are 2 entries for the same symbol, but if we
merge them, we can sum of percents. Is it the right thing to do?
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> ---
> tools/perf/util/hist.c | 11 +----------
> 1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> index 64ff427040c34112..f3f64aff9b882303 100644
> --- a/tools/perf/util/hist.c
> +++ b/tools/perf/util/hist.c
> @@ -1391,16 +1391,7 @@ hist_entry__cmp_impl(struct perf_hpp_list *hpp_list, struct hist_entry *left,
> struct hists *hists = left->hists;
> struct perf_hpp_fmt *fmt;
> perf_hpp_fmt_cmp_t *fn;
> - int64_t cmp;
> -
> - /*
> - * Never collapse filtered and non-filtered entries.
> - * Note this is not the same as having an extra (invisible) fmt
> - * that corresponds to the filtered status.
> - */
> - cmp = (int64_t)!!left->filtered - (int64_t)!!right->filtered;
> - if (cmp)
> - return cmp;
> + int64_t cmp = 0;
>
> perf_hpp_list__for_each_sort_list(hpp_list, fmt) {
> if (ignore_dynamic && perf_hpp__is_dynamic_entry(fmt) &&
> --
> 2.50.1
>