From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Aaron Tomlin <atomlin@redhat.com>
Cc: josla@redhat.com, mingo@redhat.com,
alexander.shishkin@linux.intel.com, namhyung@kernel.org,
linux-kernel@vger.kernel.org,
Milian Wolff <milian.wolff@kdab.com>
Subject: Re: [PATCH/RFC] perf report: Add option to change offset format when address is specified as a sort_key
Date: Tue, 26 Dec 2017 11:51:45 -0300 [thread overview]
Message-ID: <20171226145145.GU21971@kernel.org> (raw)
In-Reply-To: <20171215153510.14499-1-atomlin@redhat.com>
Em Fri, Dec 15, 2017 at 03:35:10PM +0000, Aaron Tomlin escreveu:
> With --call-graph option, a user can choose to display call chains with a
> specific sort_key. The sort_key can be either: function, address or srcline.
> By default, when the address is specified as the sort_key, the offset (i.e.
> symbol + offset) is provided in decimal (base 10) form.
> This is because in __get_srcline() we use PRIu64 to display the offset.
> This may or may not be desirable.
>
> This patch adds a new option --hex, to change the offset format to
> hexidecimal. Note, this can only be used with the -g, --call-graph option
> when address is specified as a sort_key. When this option is not
> specified, the default behavior is used, which is to display the offset
> in decimal form.
>
> Before:
>
> $ ./perf report -n --fields=overhead,sample,period,pid,symbol --stdio \
> > -g graph,callee,address --percent-limit 10 --no-children
> [ ... ]
> 10.87% 1 506940477 15:migration/3 [k] _spin_trylock
> |
> ---_spin_trylock +13
> double_lock_balance +48
> schedule +2007
> migration_thread +613
> kthread +158
> child_rip +10
Humm, trying to reproduce this with the command line you provided above,
in your 'Before:' case:
# perf record -F 10000 -g --pid 10,15,21,27
# perf report -n --fields=overhead,sample,period,pid,symbol --stdio -g graph,callee,address --no-children
7.31% 1 205216 10:migration/0 [k] _raw_spin_lock
|
---_raw_spin_lock atomic.h:187
scheduler_tick sched.h:935
update_process_times timer.c:1637
tick_sched_handle tick-sched.c:163
tick_sched_timer tick-sched.c:1171
__hrtimer_run_queues hrtimer.c:1211
hrtimer_interrupt hrtimer.c:469
smp_apic_timer_interrupt apic.c:1025
apic_timer_interrupt entry_64.S:795
finish_task_switch current.h:15
__sched_text_start core.c:2802
schedule current.h:15
smpboot_thread_fn smpboot.c:160
kthread kthread.c:238
ret_from_fork entry_64.S:447
[root@jouet ~]# perf --version
perf version 4.15.rc4.g6c7919a
This is with is in my perf/core branch, but I bet you'll get the same
result with 4.15-rc4.
Humm, so this is because you're not using a vmlinux file, then the
srcline gets resolved and get_srcline() returns before getting to the
fallback where offsets are shown, if I do:
[root@jouet ~]# mv /lib/modules/4.15.0-rc3+/build/vmlinux /lib/modules/4.15.0-rc3+/build/vmlinux.OFF
and remove the cached entry in my ~/.debug/ build-id cache, I get to:
# symbol: _raw_spin_lock
#
# Total Lost Samples: 0
#
# Samples: 54 of event 'cycles:ppp'
# Event count (approx.): 2805651
#
# Overhead Samples Period Pid:Command Source:Line
# ........ ............ ............ ................... ...................................
#
7.31% 1 205216 10:migration/0 _raw_spin_lock+18446603336221184012
|
---_raw_spin_lock +18446603336221184012
scheduler_tick +18446603336221184060
update_process_times +18446603336221184064
tick_sched_handle +18446603336221184034
tick_sched_timer +18446603336221184052
__hrtimer_run_queues +18446603336221184214
hrtimer_interrupt +18446603336221184166
smp_apic_timer_interrupt +18446603336221184086
__irqentry_text_start +18446603336221184150
finish_task_switch +18446603336221184123
__sched_text_start +18446603336221184577
schedule +18446603336221184040
smpboot_thread_fn +18446603336221184323
kthread +18446603336221184273
ret_from_fork +18446603336221184031
#
[root@jouet ~]#
Which looks buggy... bisecting...
- Arnaldo
prev parent reply other threads:[~2017-12-26 14:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-15 15:35 [PATCH/RFC] perf report: Add option to change offset format when address is specified as a sort_key Aaron Tomlin
2017-12-22 23:59 ` Jiri Olsa
2017-12-24 18:23 ` Aaron Tomlin
2017-12-25 21:46 ` Jiri Olsa
2017-12-26 14:51 ` Arnaldo Carvalho de Melo [this message]
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=20171226145145.GU21971@kernel.org \
--to=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=atomlin@redhat.com \
--cc=josla@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=milian.wolff@kdab.com \
--cc=mingo@redhat.com \
--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 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.