Linux-Toolchains Archive mirror
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: linux-toolchains@vger.kernel.org,
	Stephane Eranian <eranian@google.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: linux-kernel@ver.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Jiri Olsa <jolsa@kernel.org>,
	namhyung@kernel.org, irogers@google.com, kim.phillips@amd.com,
	Mark Rutland <mark.rutland@arm.com>
Subject: Additional debug info to aid cacheline analysis
Date: Tue, 6 Oct 2020 15:17:03 +0200	[thread overview]
Message-ID: <20201006131703.GR2628@hirez.programming.kicks-ass.net> (raw)

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

             reply	other threads:[~2020-10-06 13:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-06 13:17 Peter Zijlstra [this message]
2020-10-06 19:00 ` Additional debug info to aid cacheline analysis 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201006131703.GR2628@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=acme@kernel.org \
    --cc=eranian@google.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=kim.phillips@amd.com \
    --cc=linux-kernel@ver.kernel.org \
    --cc=linux-toolchains@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).