[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFxnv5Wrix=uREQsEg+tSBE8SFvy0v_76csv3hrnmPYG2A@mail.gmail.com>
Date: Fri, 13 Apr 2012 11:25:50 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: mingo@...nel.org, hpa@...or.com, acme@...hat.com, paulus@...ba.org,
eranian@...gle.com, linux-kernel@...r.kernel.org,
torvalds@...ux-foundation.org, efault@....de, peterz@...radead.org,
namhyung@...il.com, fweisbec@...il.com, dsahern@...il.com,
tglx@...utronix.de
Cc: linux-tip-commits@...r.kernel.org
Subject: Re: [tip:perf/core] perf ui annotate browser: Allow toggling addr
offset view
On Fri, Apr 13, 2012 at 11:07 AM, tip-bot for Arnaldo Carvalho de Melo
<acme@...hat.com> 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.
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
<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.
Sure, leave some magic keycombination to get the "full information", but ..
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists