[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20230619071537.GA153131@samus.usersys.redhat.com>
Date: Mon, 19 Jun 2023 09:15:37 +0200
From: Artem Savkov <asavkov@...hat.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Namhyung Kim <namhyung@...nel.org>,
linux-perf-users@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>, Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 0/2] perf tools: annotation browser from c2c tui
On Wed, Jun 14, 2023 at 03:38:35PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Fri, Jun 09, 2023 at 10:37:31AM +0200, Artem Savkov escreveu:
> > On Thu, Jun 08, 2023 at 02:09:06PM -0700, Namhyung Kim wrote:
> > > Hello,
> > >
> > > On Thu, Jun 8, 2023 at 1:44 AM Artem Savkov <asavkov@...hat.com> wrote:
> > > >
> > > > These patches add ability to start annotation browser from c2c report
> > > > tui. The idea comes from Arnaldo's "Profiling Data Structures" talk [1].
> > >
> > > I was thinking about how it works and realized that it didn't collect
> > > samples by symbol. Then I'm not sure if the result is meaningful.
> > > I think it'd show a random symbol that touched the cache line
> > > first. The same cache line can be accessed from other locations
> > > but it cannot know where they are.
> > >
> > > Also different instructions in a function (symbol) would access a
> > > different cache line. The annotate output just shows any memory
> > > access. So it might be good to check the instruction at the point
> > > but others should not be considered related.
> > >
> > > Hmm.. I suspect even the same instruction will hit the different
> > > cache lines at different times. Then probably the annotation
> > > won't work well in terms of correlating cache lines.
> >
> > The annotation hotkey is only added to the cacheline detailed view where
> > we do have symbol instruction information. The idea is to give the user
> > ability to quickly jump to source code/disassembly directly from c2c
> > TUI.
> >
> > The hit percentages in annotation view don't make much sense in this
> > case though, so maybe it is better to use dummy evsel so that none are
> > shown.
>
> Yes, the point is just to reuse the source browser, if there is no
> annotation data applicable, don't use any.
>
Ok, should be as easy as the following diff. I'll include it in v3 if
there si more feedback.
---
diff --git b/tools/perf/builtin-c2c.c a/tools/perf/builtin-c2c.c
index dce8604837aec..c856ce7a50740 100644
--- b/tools/perf/builtin-c2c.c
+++ a/tools/perf/builtin-c2c.c
@@ -2701,7 +2701,11 @@ static int perf_c2c__browse_cacheline(struct hist_entry *he)
switch (key) {
case 'a':
- do_annotate(browser, evlist__first(c2c.evlist));
+ /*
+ * We don't need percentage info so use 'dummy:HG'
+ * evsel which is last in evlist.
+ */
+ do_annotate(browser, evlist__last(c2c.evlist));
break;
case 's':
c2c.symbol_full = !c2c.symbol_full;
Powered by blists - more mailing lists