lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ