Re: [RFC/PATCH 3/3] perf tools: Defaults to 'caller' callchain order only if --children is enabled
From: Arnaldo Carvalho de Melo
Date: Thu Oct 22 2015 - 12:22:08 EST
Em Fri, Oct 23, 2015 at 12:51:01AM +0900, Namhyung Kim escreveu:
> On Thu, Oct 22, 2015 at 11:37 PM, Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
> > Will we also flip the default to --no-children? I would advocate that,
> > together with showing a info box telling the user about this change and
> > how to ask for it, including instructions on how to do that via
> > ~/.perfconfig.
> Not sure. It seems too late to do it. ;-)
Heh, well, at least a info box, to show just once, telling where to read
about --children mode, and how to disable it, I'll probably cook this
up.
> >> But I should mention it'll use 'callee' ordering when --no-chlidren.
> >> I'm about to send doc fix patch Ingo requested, so please leave this
> >> patch as is.
> > Ok, its just that I thought you was already asleep and was wanting to
> > make progress on this 8-)
> Yeah, it's late. I'll go to bed soon.. :)
:-)
> > Will wait for your patches and instead try to fix the annotation bug
> > that leads 'perf report --tui -S some_symbol_name' to exit without
> > printing anything, that Ingo reported, only happens in --tui, because
> > --stdio doesn't collects annotation info...
> I guess -S option works only for symbols that have self overhead..
Sure, say:
# perf record -a sleep 1
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.171 MB perf.data (33 samples) ]
# perf script | head -3
perf 15174 [000] 52772.188928: 1 cycles:pp: ffffffff8105f4b8 native_write_msr_safe (/lib/modules/4.2.0/build/vmlinux)
perf 15174 [000] 52772.188934: 1 cycles:pp: ffffffff8105f4b8 native_write_msr_safe (/lib/modules/4.2.0/build/vmlinux)
swapper 0 [001] 52772.188971: 1 cycles:pp: ffffffff8105f4b8 native_write_msr_safe (/lib/modules/4.2.0/build/vmlinux)
# perf report -S native_write_msr_safe
# time perf report -S native_write_msr_safe
real 0m0.023s
user 0m0.019s
sys 0m0.004s
#
I.e. 'perf report -S symbol_that_has_self_overhead' doesn't work in --tui mode,
works in --stdio mode:
# perf report --stdio -S native_write_msr_safe | grep %
59.61% swapper [kernel.vmlinux]
0.17% sleep [kernel.vmlinux]
0.00% perf [kernel.vmlinux]
#
Somehow we're calling symbol__inc_addr_samples() with a sample that is outside
that symbol, it returns ERANGE and we exit early, not emitting any message.
That happens only in --tui mode, --stdio doesn't call any annotation routine,
since it is not integrated with 'perf annotate' because it is not interactive.
- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/