[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aLC0o8Shis3FSIuI@x1>
Date: Thu, 28 Aug 2025 16:57:23 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Dmitry Vyukov <dvyukov@...gle.com>
Cc: Namhyung Kim <namhyung@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Ian Rogers <irogers@...gle.com>,
James Clark <james.clark@...aro.org>, Jiri Olsa <jolsa@...nel.org>,
Kan Liang <kan.liang@...ux.intel.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-perf-users@...r.kernel.org
Subject: Re: [PATCH 1/1] Revert "perf hist: Fix bogus profiles when filters
are enabled"
On Wed, Aug 20, 2025 at 06:14:08PM -0700, Dmitry Vyukov wrote:
> On Wed, 20 Aug 2025 at 10:23, Arnaldo Carvalho de Melo <acme@...nel.org> 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?
Unsure, I have not investigated it further, just noticed the strange
output with multiple entries for the same symbol, bisected and doing the
revert found what looks like a familiar output.
It is possible that the familiar output is problematic, but I haven't
dig deeper so far.
Since it is a change of behaviour, can we apply the revert and continue
the discussion from that point?
'perf top' decays histogram entries, which is in addition to the
"static" processing done in 'perf report', maybe this is a problem that
is there since forever but statistically, by means of decaying, goes
away and only now we're noticing? Merits investigation.
- Arnaldo
> 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@...hat.com>
> > ---
> > 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
> >
Powered by blists - more mailing lists