Re: [tip:perf/core] perf ui annotate browser: Allow toggling addroffset view

From: Arnaldo Carvalho de Melo
Date: Fri Apr 13 2012 - 20:59:48 EST


Em Fri, Apr 13, 2012 at 11:25:50AM -0700, Linus Torvalds escreveu:
> On Fri, Apr 13, 2012 at 11:07 AM, tip-bot for Arnaldo Carvalho de Melo
> <acme@xxxxxxxxxx> wrote:
> >
> > The offset view will be the default as soon as operations that deal with
> > offsets in a function are handled accodringly, i.e. in offset view the
> > above will become:
> >
> >     2f:       jne    __list_del_entry+0x84
> > <SNIP>
> >     84:       mov    %rdi,%rcx
>
> Oh, please please please make this happen.

I will in the next days. Glad you like it.

> Also, if at all possible, please mark offsets that are referenced by a
> branch some way. I do think that the "size of instruction" can be a
> very valid piece of information when looking at instruction-level
> profiles, but quite frankly, I'm also 100% sure that the fact that an
> instruction is a branch target is *more* important.
>
> Now, fancy arrows etc might be too hard to do (especially without
> cluttering things up too much), but marking just the targets would
> already be lovely. IOW, turn this mess:
>
>
> : ffffffff810d7e80 <kmem_cache_free>:
> 1.91 : ffffffff810d7e80: push %rbp
> 0.05 : ffffffff810d7e81: mov %rsp,%rbp
> 2.02 : ffffffff810d7e84: push %r12
> 0.00 : ffffffff810d7e86: mov %rdi,%r12
> 0.55 : ffffffff810d7e89: push %rbx
> 0.00 : ffffffff810d7e8a: mov %rsi,%rdi
> 1.20 : ffffffff810d7e8d: mov %rsi,%rbx
> 1.64 : ffffffff810d7e90: callq ffffffff8102a730 <__phys_addr>
> 0.05 : ffffffff810d7e95: movabs $0xffffea0000000000,%rdi
> 0.22 : ffffffff810d7e9f: shr $0xc,%rax
> 0.11 : ffffffff810d7ea3: shl $0x6,%rax
> 1.64 : ffffffff810d7ea7: lea (%rax,%rdi,1),%rdi
> 42.80 : ffffffff810d7eab: mov (%rdi),%rax
> 2.02 : ffffffff810d7eae: test $0x80,%ah
> 0.00 : ffffffff810d7eb1: jne ffffffff810d7ef6
> <kmem_cache_free+0x76>
> 0.22 : ffffffff810d7eb3: mov 0x8(%rbp),%r9
> 7.14 : ffffffff810d7eb7: mov (%r12),%rax
> 0.65 : ffffffff810d7ebb: add %gs:0xcb88,%rax
> 4.58 : ffffffff810d7ec4: mov 0x8(%rax),%rdx
>
> (which has tons of unnecessary white-space too - shades of G+) into

Grin ;-)

Yeah, even the : column isn't needed I think.

> <kmem_cache_free>:
> 1.91 : push %rbp
> 0.05 : mov %rsp,%rbp
> 2.02 : push %r12
> 0.00 : mov %rdi,%r12
> 0.55 : push %rbx
> 0.00 : mov %rsi,%rdi
> 1.20 : mov %rsi,%rbx
> 1.64 : callq ffffffff8102a730 <__phys_addr>
> 0.05 : movabs $0xffffea0000000000,%rdi
> 0.22 : shr $0xc,%rax
> 0.11 : shl $0x6,%rax
> 1.64 : lea (%rax,%rdi,1),%rdi
> 42.80 : mov (%rdi),%rax
> 2.02 : test $0x80,%ah
> 0.00 : jne kmem_cache_free+0x76
> 0.22 : 0x33: mov 0x8(%rbp),%r9
> 7.14 : 0x37: mov (%r12),%rax
> 0.65 : add %gs:0xcb88,%rax
> 4.58 : mov 0x8(%rax),%rdx
> ....
>
> or something. I think the "callq ffffffff8102a730 <__phys_addr>"
> could also be prettified with *zero* downside.

Yeah, no need to see the address in default mode.

> Sure, leave some magic keycombination to get the "full information", but ..

Yeah, we have o to toggle offset view + s to toggle source code view,
etc.

> Linus
--
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/