kernel-ark/arch/x86/vdso
john stultz da15cfdae0 time: Introduce CLOCK_REALTIME_COARSE
After talking with some application writers who want very fast, but not
fine-grained timestamps, I decided to try to implement new clock_ids
to clock_gettime(): CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE
which returns the time at the last tick. This is very fast as we don't
have to access any hardware (which can be very painful if you're using
something like the acpi_pm clocksource), and we can even use the vdso
clock_gettime() method to avoid the syscall. The only trade off is you
only get low-res tick grained time resolution.

This isn't a new idea, I know Ingo has a patch in the -rt tree that made
the vsyscall gettimeofday() return coarse grained time when the
vsyscall64 sysctrl was set to 2. However this affects all applications
on a system.

With this method, applications can choose the proper speed/granularity
trade-off for themselves.

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: nikolag@ca.ibm.com
Cc: Darren Hart <dvhltc@us.ibm.com>
Cc: arjan@infradead.org
Cc: jonathan@jonmasters.org
LKML-Reference: <1250734414.6897.5.camel@localhost.localdomain>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2009-08-21 21:43:46 +02:00
..
vdso32 x86: gitignore arch/x86/vdso files 2008-01-30 13:32:32 +01:00
.gitignore x86: add vdso32-int80-syms.lds to .gitignore 2008-01-30 13:33:24 +01:00
Makefile gcov: enable GCOV_PROFILE_ALL for x86_64 2009-06-18 13:03:58 -07:00
vclock_gettime.c time: Introduce CLOCK_REALTIME_COARSE 2009-08-21 21:43:46 +02:00
vdso32-setup.c x86: Set context.vdso before installing the mapping 2009-06-05 14:46:40 +02:00
vdso32.S x86_64: further cleanup of 32-bit compat syscall mechanisms 2008-07-16 11:08:27 +02:00
vdso-layout.lds.S x86 vDSO: new layout 2008-01-30 13:30:41 +01:00
vdso-note.S x86_64: move vdso 2007-10-11 11:17:10 +02:00
vdso.lds.S x86 vDSO: new layout 2008-01-30 13:30:41 +01:00
vdso.S x86_64 vDSO: use initdata 2008-04-28 13:49:35 -07:00
vextern.h x86_64: move vdso 2007-10-11 11:17:10 +02:00
vgetcpu.c x86: add notrace annotations to vsyscall. 2008-05-23 20:31:39 +02:00
vma.c Merge branch 'linus' into perfcounters/core 2009-06-11 17:55:42 +02:00
vvar.c x86: vdso put vars in rodata 2007-10-17 20:16:43 +02:00