]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commit
powerpc: Improve resolution of VDSO clock_gettime
authorPaul Mackerras <paulus@samba.org>
Mon, 27 Oct 2008 23:56:03 +0000 (23:56 +0000)
committerPaul Mackerras <paulus@samba.org>
Wed, 5 Nov 2008 22:49:22 +0000 (09:49 +1100)
commit597bc5c00b666fe123abb0af64f6e86f7ab72a90
treef6be6e6f07fb1caff3b670a7ac3df74a621ae364
parentc73049f6aa58ac1d1a9ca8cb2b415ef97240b2d3
powerpc: Improve resolution of VDSO clock_gettime

Currently the clock_gettime implementation in the VDSO produces a
result with microsecond resolution for the cases that are handled
without a system call, i.e. CLOCK_REALTIME and CLOCK_MONOTONIC.  The
nanoseconds field of the result is obtained by computing a
microseconds value and multiplying by 1000.

This changes the code in the VDSO to do the computation for
clock_gettime with nanosecond resolution.  That means that the
resolution of the result will ultimately depend on the timebase
frequency.

Because the timestamp in the VDSO datapage (stamp_xsec, the real time
corresponding to the timebase count in tb_orig_stamp) is in units of
2^-20 seconds, it doesn't have sufficient resolution for computing a
result with nanosecond resolution.  Therefore this adds a copy of
xtime to the VDSO datapage and updates it in update_gtod() along with
the other time-related fields.

Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/include/asm/vdso_datapage.h
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/time.c
arch/powerpc/kernel/vdso32/gettimeofday.S
arch/powerpc/kernel/vdso64/gettimeofday.S