powerpc: Add VDSO version of time
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Mon, 22 Apr 2013 09:29:33 +0000 (09:29 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 23 Apr 2013 06:05:05 +0000 (16:05 +1000)
commitfcb41a2030abe0eb716ef0798035ef9562097f42
tree4b063cc1cb872fb9609fd90485c7b602b9fdc57f
parentaf81d7878c641629f2693ae3fdaf74b4af14dfca
powerpc: Add VDSO version of time

On 04/18/2013 07:38 PM, Anton Blanchard wrote:
> Since you are only reading one long you shouldn't need to check the
> update count and loop, you will always see a consistent value. The
> system call version of time() just does an unprotected load for example.

Fixed.

> With the above change and with Michael's comments covered (decent
> changelog entry and Signed-off-by):
>
> Acked-by: Anton Blanchard <anton@samba.org>

Thanks for the review, below the updated patch:

From: Adhemerval Zanella <azanella@linux.vnet.ibm.com>

This patch implement the time syscall as vDSO. The performance speedups
are:

Baseline PPC32: 380 nsec
Baseline PPC64: 350 nsec
vdso PPC32:      20 nsec
vsdo PPC64:      20 nsec

Tested on 64 bit build with both 32 bit and 64 bit userland.

Acked-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/vdso.c
arch/powerpc/kernel/vdso32/gettimeofday.S
arch/powerpc/kernel/vdso32/vdso32.lds.S
arch/powerpc/kernel/vdso64/gettimeofday.S
arch/powerpc/kernel/vdso64/vdso64.lds.S