[PATCH] x86-64: fix vtime() vsyscall
commit272a3713bb9e302e0455c894c41180a482d2c8a3
authorEric Dumazet <dada1@cosmosbay.com>
Wed, 2 May 2007 17:27:11 +0000 (2 19:27 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Wed, 2 May 2007 17:27:11 +0000 (2 19:27 +0200)
tree2dad036c75c0523db5f5f0f9618f4f3b9f21e28c
parentbd8559c38ee5be40ce2c57a80fd3c3e978cca267
[PATCH] x86-64: fix vtime() vsyscall

There is a tiny probability that the return value from vtime(time_t *t) is
Signed-off-by: Andi Kleen <ak@suse.de>
different than the value stored in *t

Using a temporary variable solves the problem and gives a faster code.

   17:   48 85 ff                test   %rdi,%rdi
   1a:   48 8b 05 00 00 00 00    mov    0(%rip),%rax        #
__vsyscall_gtod_data.wall_time_tv.tv_sec
   21:   74 03                   je     26
   23:   48 89 07                mov    %rax,(%rdi)
   26:   c9                      leaveq
   27:   c3                      retq

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
arch/x86_64/kernel/vsyscall.c