All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: Stephane Eranian <eranian@google.com>
Cc: linux-kernel@vger.kernel.org, Andi Kleen <andi@firstfloor.org>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Namhyung Kim <namhyung@gmail.com>, Jiri Olsa <jolsa@redhat.com>,
	Ingo Molnar <mingo@kernel.org>
Subject: Re: [PATCH v2 00/16] perf: add memory access sampling support
Date: Tue, 6 Nov 2012 17:52:21 -0300	[thread overview]
Message-ID: <20121106205220.GF13629@infradead.org> (raw)
In-Reply-To: <1352123463-7346-1-git-send-email-eranian@google.com>

Em Mon, Nov 05, 2012 at 02:50:47PM +0100, Stephane Eranian escreveu:
> Or if one is interested in the data view:
> $ perf mem -t load rep --sort=symbol_daddr,cost
> # Samples: 19K of event 'cpu/mem-loads/pp'
> # Total cost : 1013994
> # Sort order : symbol_daddr,cost
> #
> # Overhead      Samples             Data Symbol     Cost
> # ........  ...........  ......................  .......
> #
>      0.10%            1  [.] 0x00007f67dffe8038      986
>      0.09%            1  [.] 0x00007f67df91a750      890
>      0.08%            1  [.] 0x00007f67e288fba8      826
> 

> CAVEAT: Note that the data addresses are not resolved correctly currently due to a
> problem in perf data symbol resolution code which I have not been able to
> uncover so far.

Stephane,

	Those data addresses mostly are on the stack, we need reverse
resolution using DWARF location expressions to figure out what is the
name of a variable that is on a particular address, etc.

	Masami, have you played with this already? I mean:

[root@sandy acme]# perf mem -t load rep --stdio --sort=symbol,symbol_daddr,cost
# Samples: 30  of event 'cpu/mem-loads/pp'
# Total cost : 640
# Sort order : symbol,symbol_daddr,cost
#
# Overhead      Samples                  Symbol             Data Symbol     Cost
# ........  ...........  ......................  ......................  .......
#
    55.00%            1  [k] lookup_fast         [k] 0xffff8803b7521bd4      352
     5.47%            1  [k] cache_alloc_refill  [k] 0xffff880407705024       35
     3.44%            1  [k] cache_alloc_refill  [k] 0xffff88041d8527d8       22
     3.28%            1  [k] run_timer_softirq   [k] 0xffff88041e2c3e90       21
     2.50%            1  [k] __list_add          [k] 0xffff8803b7521d68       16
     2.19%            1  [.] __strcoll_l         [.] 0x00007fffa8d44080       14
     1.88%            1  [.] __strcoll_l         [.] 0x00007fffa8d44104       12

If we go to the annotation browser to see where is that lookup_fast hitting we get:

100.00 │       mov    -0x34(%rbp),%eax

How to map 0xffff8803b7521bd4 to a stack variable, struct members and all?

Humm, for userspace we have PERF_SAMPLE_REGS_USER for the dwarf unwinder we
need for userspace, but what about reverse mapping of kernel variables? Jiri?

- Arnaldo

  parent reply	other threads:[~2012-11-06 20:52 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-05 13:50 [PATCH v2 00/16] perf: add memory access sampling support Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 01/16] perf/x86: improve sysfs event mapping with event string Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 02/16] perf/x86: add flags to event constraints Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 03/16] perf, core: Add a concept of a weightened sample Stephane Eranian
2012-11-05 20:01   ` Arnaldo Carvalho de Melo
2012-11-05 20:07     ` Arnaldo Carvalho de Melo
2012-11-05 22:51     ` Andi Kleen
2012-11-05 13:50 ` [PATCH v2 04/16] perf: add minimal support for PERF_SAMPLE_WEIGHT Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 05/16] perf, tools: Add arbitary aliases and support names with - Stephane Eranian
2012-11-14  7:34   ` [tip:perf/core] perf " tip-bot for Andi Kleen
2012-11-05 13:50 ` [PATCH v2 06/16] perf: add support for PERF_SAMPLE_ADDR in dump_sampple() Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 07/16] perf: add generic memory sampling interface Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 08/16] perf/x86: add memory profiling via PEBS Load Latency Stephane Eranian
2012-11-06 13:31   ` Andi Kleen
2012-11-06 14:29     ` Stephane Eranian
2012-11-06 18:50       ` Andi Kleen
2012-11-06 19:37         ` Stephane Eranian
2012-11-07 14:39           ` Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 09/16] perf/x86: export PEBS load latency threshold register to sysfs Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 10/16] perf/x86: add support for PEBS Precise Store Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 11/16] perf tools: add mem access sampling core support Stephane Eranian
2012-11-05 13:50 ` [PATCH v2 12/16] perf report: add support for mem access profiling Stephane Eranian
2012-11-05 13:51 ` [PATCH v2 13/16] perf record: " Stephane Eranian
2012-11-05 13:51 ` [PATCH v2 14/16] perf tools: add new mem command for memory " Stephane Eranian
2012-11-06 15:44   ` Arnaldo Carvalho de Melo
2012-11-06 15:49     ` Stephane Eranian
2012-11-06 16:51       ` Arnaldo Carvalho de Melo
2012-11-06 17:05         ` Arnaldo Carvalho de Melo
2012-11-06 15:50     ` Arnaldo Carvalho de Melo
2012-11-06 15:57       ` Stephane Eranian
2012-11-06 17:07         ` Arnaldo Carvalho de Melo
2012-11-05 13:51 ` [PATCH v2 15/16] perf: add PERF_RECORD_MISC_MMAP_DATA to RECORD_MMAP Stephane Eranian
2012-11-05 13:51 ` [PATCH v2 16/16] perf tools: detect data vs. text mappings Stephane Eranian
2012-11-06 20:52 ` Arnaldo Carvalho de Melo [this message]
2012-11-07  7:38   ` [PATCH v2 00/16] perf: add memory access sampling support Namhyung Kim
2012-11-07 10:02     ` Stephane Eranian
2012-11-07 14:53   ` Masami Hiramatsu
2012-11-07 14:56     ` Stephane Eranian

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=20121106205220.GF13629@infradead.org \
    --to=acme@ghostprotocols.net \
    --cc=andi@firstfloor.org \
    --cc=eranian@google.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@gmail.com \
    --cc=peterz@infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.