All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Jiri Olsa <jolsa@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	David Ahern <dsahern@gmail.com>,
	Hendrick Brueckner <brueckner@linux.vnet.ibm.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Thomas Richter <tmricht@linux.vnet.ibm.com>,
	Wang Nan <wangnan0@huawei.com>
Subject: Re: [PATCH 2/5] perf unwind: Do not look at globals
Date: Tue, 16 Jan 2018 16:45:20 -0300	[thread overview]
Message-ID: <20180116194520.GF16107@kernel.org> (raw)
In-Reply-To: <20180116193035.GA6183@krava>

Em Tue, Jan 16, 2018 at 08:30:35PM +0100, Jiri Olsa escreveu:
> On Tue, Jan 16, 2018 at 12:36:21PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Jan 16, 2018 at 04:19:15PM +0100, Jiri Olsa escreveu:
> > > On Tue, Jan 16, 2018 at 11:24:35AM -0300, Arnaldo Carvalho de Melo wrote:
> > > 
> > > SNIP
> > > 
> > > > Cc: Adrian Hunter <adrian.hunter@intel.com>
> > > > Cc: David Ahern <dsahern@gmail.com>
> > > > Cc: Hendrick Brueckner <brueckner@linux.vnet.ibm.com>
> > > > Cc: Jiri Olsa <jolsa@kernel.org>
> > > > Cc: Namhyung Kim <namhyung@kernel.org>
> > > > Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
> > > > Cc: Wang Nan <wangnan0@huawei.com>
> > > > Link: https://lkml.kernel.org/n/tip-skbth8ufepbtw8xar7gdsb6l@git.kernel.org
> > > > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > > > ---
> > > >  tools/perf/util/unwind-libunwind-local.c | 9 ---------
> > > >  1 file changed, 9 deletions(-)
> > > > 
> > > > diff --git a/tools/perf/util/unwind-libunwind-local.c b/tools/perf/util/unwind-libunwind-local.c
> > > > index 7a42f703e858..02dc5a9d8f72 100644
> > > > --- a/tools/perf/util/unwind-libunwind-local.c
> > > > +++ b/tools/perf/util/unwind-libunwind-local.c
> > > > @@ -631,9 +631,6 @@ static unw_accessors_t accessors = {
> > > >  
> > > >  static int _unwind__prepare_access(struct thread *thread)
> > > >  {
> > > > -	if (callchain_param.record_mode != CALLCHAIN_DWARF)
> > > > -		return 0;
> > > > -
> > > 
> > > this would create thread->addr_space also for data without
> > > dwarf callchains data, so I think we need to keep it
> > > 
> > > it should get set in apply_config_terms which calls parse_callchain_record
> > 
> > No, it should not set the global parameter, as this is just for a
> > specific event, i.e. we can have something like:
> > 
> > 	perf record -e cycles/call-graph=dwarf/ \
> > 		    -e instructions/call-graph=lbr/
> > 		    -e cache-misses/call-graph=fp
> > 
> > And then get these samples for the same thread.
> > 
> > If you want to avoid creating thread->addr_space, and we do want that,
> > sure, a followup patch should address that, we need to postpone
> > allocating it till we get a DWARF callchain in a sample for that
> > specific thread, when we then should allocate thread->addr_space.
> 
> yea that could be fixed.. however current code prevents
> to create that for data without DWARF data, and your change
> forces it

Humm? Which code?

[root@jouet ~]# perf record -e cycles/call-graph=dwarf/ -e instructions/call-graph=lbr/ -e cache-misses/call-graph=fp/ sleep 2
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.140 MB perf.data (43 samples) ]
[root@jouet ~]# perf evlist -v
cycles/call-graph=dwarf/: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ADDR|CALLCHAIN|PERIOD|REGS_USER|STACK_USER|IDENTIFIER|DATA_SRC, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, mmap_data: 1, sample_id_all: 1, exclude_guest: 1, exclude_callchain_user: 1, mmap2: 1, comm_exec: 1, sample_regs_user: 0xff0fff, sample_stack_user: 8192
instructions/call-graph=lbr/: size: 112, config: 0x1, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CALLCHAIN|PERIOD|BRANCH_STACK|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, freq: 1, enable_on_exec: 1, sample_id_all: 1, exclude_guest: 1, branch_sample_type: USER|CALL_STACK|NO_FLAGS|NO_CYCLES
cache-misses/call-graph=fp/: size: 112, config: 0x3, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CALLCHAIN|PERIOD|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, freq: 1, enable_on_exec: 1, sample_id_all: 1, exclude_guest: 1
[root@jouet ~]# perf report --no-header | head -20
no symbols found in /usr/bin/sleep, maybe install a debug package?
# To display the perf.data header info, please use --header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 15  of event 'cycles/call-graph=dwarf/'
# Event count (approx.): 2153016
#
# Children      Self  Command  Shared Object     Symbol                                 
# ........  ........  .......  ................  .......................................
#
    48.98%     0.00%  sleep    ld-2.26.so        [.] _start
            |
            ---_start
               |          
               |--35.15%--_dl_start
               |          _dl_sysdep_start
               |          dl_main
               |          |          
               |          |--18.44%--_dl_relocate_object
[root@jouet ~]#

- Arnaldo

  reply	other threads:[~2018-01-16 19:45 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-16 14:24 [RFC 0/5] per-event settings fixes Arnaldo Carvalho de Melo
2018-01-16 14:24 ` [PATCH 1/5] perf callchain: Fix attr.sample_max_stack setting Arnaldo Carvalho de Melo
2018-01-16 14:24 ` [PATCH 2/5] perf unwind: Do not look at globals Arnaldo Carvalho de Melo
2018-01-16 15:19   ` Jiri Olsa
2018-01-16 15:36     ` Arnaldo Carvalho de Melo
2018-01-16 18:26       ` Arnaldo Carvalho de Melo
2018-01-16 19:49         ` Jiri Olsa
2018-01-16 20:05           ` Arnaldo Carvalho de Melo
2018-01-17  5:34             ` Namhyung Kim
2018-01-17  8:23             ` Jiri Olsa
2018-01-17 16:33         ` [tip:perf/core] perf unwind: Do not look just at the global callchain_param.record_mode tip-bot for Arnaldo Carvalho de Melo
2018-01-16 19:30       ` [PATCH 2/5] perf unwind: Do not look at globals Jiri Olsa
2018-01-16 19:45         ` Arnaldo Carvalho de Melo [this message]
2018-01-16 19:55           ` Jiri Olsa
2018-01-16 20:07             ` Arnaldo Carvalho de Melo
2018-01-16 14:24 ` [PATCH 3/5] perf trace: Setup DWARF callchains for non-syscall events when --max-stack is used Arnaldo Carvalho de Melo
2018-01-16 14:24 ` [PATCH 4/5] perf trace: Allow overriding global --max-stack per event Arnaldo Carvalho de Melo
2018-01-16 14:24 ` [PATCH 5/5] perf callchains: Ask for PERF_RECORD_MMAP for data mmaps for DWARF unwinding Arnaldo Carvalho de Melo
2018-01-16 15:27 ` [RFC 0/5] per-event settings fixes Thomas-Mich Richter
2018-01-16 15:38   ` Arnaldo Carvalho de Melo

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=20180116194520.GF16107@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=brueckner@linux.vnet.ibm.com \
    --cc=dsahern@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=tmricht@linux.vnet.ibm.com \
    --cc=wangnan0@huawei.com \
    /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.