Re: [PATCH/RFC] perf report: Add option to change offset format when address is specified as a sort_key

From: Jiri Olsa
Date: Fri Dec 22 2017 - 18:59:54 EST


On Fri, Dec 15, 2017 at 03:35:10PM +0000, Aaron Tomlin wrote:
> 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
>
> After:
>
> $ ./perf report -n --fields=overhead,sample,period,pid,symbol --stdio \
> > -g graph,callee,address --percent-limit 10 --hex --no-children
> [ ... ]
> 10.87% 1 506940477 15:migration/3 [k] _spin_trylock
> |
> ---_spin_trylock +0xd
> double_lock_balance +0x30
> schedule +0x7d7
> migration_thread +0x265
> kthread +0x9e
> child_rip +0xa

not sure we've already discussed that, but this could be default?

if not, I think the hex option should be part of -g option arg, maybe like:

-g graph,callee,xaddress

but default hex seems better to me, thoughts?

jirka