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]
Date:	Thu, 23 Feb 2012 21:42:39 -0500
From:	Jason Baron <jbaron@...hat.com>
To:	Ingo Molnar <mingo@...e.hu>
Cc:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Paul Mackerras <paulus@...ba.org>,
	"H. Peter Anvin" <hpa@...or.com>,
	Steven Rostedt <rostedt@...dmis.org>, a.p.zijlstra@...llo.nl,
	mathieu.desnoyers@...icios.com, davem@...emloft.net,
	ddaney.cavm@...il.com, akpm@...ux-foundation.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 00/10] jump label: introduce very_[un]likely + cleanups +
 docs

On Thu, Feb 23, 2012 at 11:33:48PM +0100, Ingo Molnar wrote:
> 
> Before:
> 
> ffffffff810441f0 <sys_getppid>:
> ffffffff810441f0:       8b 05 8a 52 d8 00       mov    0xd8528a(%rip),%eax        # ffffffff81dc9480 <key>
> ffffffff810441f6:       55                      push   %rbp
> ffffffff810441f7:       48 89 e5                mov    %rsp,%rbp
> ffffffff810441fa:       85 c0                   test   %eax,%eax
> ffffffff810441fc:       75 27                   jne    ffffffff81044225 <sys_getppid+0x35>
> ffffffff810441fe:       65 48 8b 04 25 c0 b6    mov    %gs:0xb6c0,%rax
> ffffffff81044205:       00 00
> ffffffff81044207:       48 8b 80 80 02 00 00    mov    0x280(%rax),%rax
> ffffffff8104420e:       48 8b 80 b0 02 00 00    mov    0x2b0(%rax),%rax
> ffffffff81044215:       48 8b b8 e8 02 00 00    mov    0x2e8(%rax),%rdi
> ffffffff8104421c:       e8 2f da 00 00          callq  ffffffff81051c50 <pid_vnr>
> ffffffff81044221:       5d                      pop    %rbp
> ffffffff81044222:       48 98                   cltq
> ffffffff81044224:       c3                      retq
> ffffffff81044225:       48 c7 c7 13 53 98 81    mov    $0xffffffff81985313,%rdi
> ffffffff8104422c:       31 c0                   xor    %eax,%eax
> ffffffff8104422e:       e8 60 0f 6d 00          callq  ffffffff81715193 <printk>
> ffffffff81044233:       eb c9                   jmp    ffffffff810441fe <sys_getppid+0xe>
> ffffffff81044235:       66 66 2e 0f 1f 84 00    data32 nopw %cs:0x0(%rax,%rax,1)
> ffffffff8104423c:       00 00 00 00
> 
> After:
> 
> ffffffff81044290 <sys_getppid>:
> ffffffff81044290:       55                      push   %rbp
> ffffffff81044291:       48 89 e5                mov    %rsp,%rbp
> ffffffff81044294:       e9 00 00 00 00          jmpq   ffffffff81044299 <sys_getppid+0x9>
> ffffffff81044299:       65 48 8b 04 25 c0 b6    mov    %gs:0xb6c0,%rax
> ffffffff810442a0:       00 00
> ffffffff810442a2:       48 8b 80 80 02 00 00    mov    0x280(%rax),%rax
> ffffffff810442a9:       48 8b 80 b0 02 00 00    mov    0x2b0(%rax),%rax
> ffffffff810442b0:       48 8b b8 e8 02 00 00    mov    0x2e8(%rax),%rdi
> ffffffff810442b7:       e8 f4 d9 00 00          callq  ffffffff81051cb0 <pid_vnr>
> ffffffff810442bc:       5d                      pop    %rbp
> ffffffff810442bd:       48 98                   cltq
> ffffffff810442bf:       c3                      retq
> ffffffff810442c0:       48 c7 c7 e3 54 98 81    mov    $0xffffffff819854e3,%rdi
> ffffffff810442c7:       31 c0                   xor    %eax,%eax
> ffffffff810442c9:       e8 71 13 6d 00          callq  ffffffff8171563f <printk>
> ffffffff810442ce:       eb c9                   jmp    ffffffff81044299 <sys_getppid+0x9>
> 
> The prior slowpath test:
> 
> ffffffff810441fa:       85 c0                   test   %eax,%eax
> ffffffff810441fc:       75 27                   jne    ffffffff81044225 <sys_getppid+0x35>
> 
> became even faster and turned into a single NOP, making the 
> fastpath even faster.
> 

and the: mov    0xd8528a(%rip),%eax        # ffffffff81dc9480 <key>

is no longer present.

Thanks,

-Jason
--
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