Messages in this thread Patch in this message | | | Date | Mon, 19 Jun 2023 09:15:37 +0200 | From | Artem Savkov <> | 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@redhat.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;
| |