linux-toolchains.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Additional debug info to aid cacheline analysis
@ 2020-10-06 13:17 Peter Zijlstra
  2020-10-06 19:00 ` Arnaldo Carvalho de Melo
  2020-10-08  5:58 ` Stephane Eranian
  0 siblings, 2 replies; 27+ messages in thread
From: Peter Zijlstra @ 2020-10-06 13:17 UTC (permalink / raw)
  To: linux-toolchains, Stephane Eranian, Arnaldo Carvalho de Melo
  Cc: linux-kernel, Ingo Molnar, Jiri Olsa, namhyung, irogers,
	kim.phillips, Mark Rutland

Hi all,

I've been trying to float this idea for a fair number of years, and I
think at least Stephane has been talking to tools people about it, but
I'm not sure what, if anything, ever happened with it, so let me post it
here :-)


Basically, what I want is a (perf) tool for cacheline optimizations.
Something very much like the excellent pahole tool, but with hit/miss
information added.

Now, some PMUs provide the data address for various relevant events, but
that gets us the problem of mapping a 'random' address to a type and
offset. And esp. for dynamic objects, that's a difficult problem.

However, the compiler actually knows what type and offset (most) memory
references are, so if perf can get us the exact IP (Intel PEBS / AMD
IBS, as opposed to one with skid on) we could get the type from debug
info.

And therein lies the rub, existing debug info (DWARF) does contain type
information, but in a way that is (I've been told) _very_ hard to use
for this purpose.

So could the compiler emit extra debug info for every instruction with a
memory reference on to facilitate this?

 ~ Peter

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2020-11-03  4:22 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-06 13:17 Additional debug info to aid cacheline analysis Peter Zijlstra
2020-10-06 19:00 ` Arnaldo Carvalho de Melo
2020-10-08  5:58 ` Stephane Eranian
2020-10-08  7:02   ` Peter Zijlstra
2020-10-08  9:32     ` Mark Wielaard
2020-10-08 21:23       ` Andi Kleen
2020-10-10 20:58         ` Mark Wielaard
2020-10-10 21:51           ` Mark Wielaard
     [not found]             ` <20201010220712.5352-1-mark@klomp.org>
2020-10-10 22:21               ` [PATCH] Only add -fno-var-tracking-assignments workaround for old GCC versions Ian Rogers
2020-10-12 18:59                 ` Nick Desaulniers
2020-10-12 19:12                   ` Mark Wielaard
2020-10-14 15:31                     ` Sedat Dilek
2020-10-14 11:01                 ` Mark Wielaard
2020-10-14 15:17                   ` Andi Kleen
2020-10-17 12:01                   ` [PATCH V2] " Mark Wielaard
2020-10-19 19:30                     ` Nick Desaulniers
2020-10-20 15:27                     ` Masahiro Yamada
2020-10-10 22:33             ` [PATCH] " Mark Wielaard
2020-10-11 11:04           ` Additional debug info to aid cacheline analysis Segher Boessenkool
2020-10-11 12:15           ` Florian Weimer
2020-10-11 12:23             ` Mark Wielaard
2020-10-11 12:28               ` Florian Weimer
2020-10-30  5:26       ` Namhyung Kim
2020-10-30  9:16         ` Mark Wielaard
2020-10-30 10:10           ` Peter Zijlstra
2020-11-02  8:27             ` Masami Hiramatsu
2020-11-03  4:22               ` Namhyung Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).