From 883b79e414adab622672b37c5aac359f74194820 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Fri, 28 Sep 2012 18:00:27 -0400 Subject: [PATCH] --- yaml --- r: 333879 b: refs/heads/master c: 28f2b02bc581ffc835bc1691b18d03f62fcf0395 h: refs/heads/master i: 333877: b5a1a7624d6b9861df77dc59eb5ea9cfba3fb7bd 333875: 562d227bf52f28808f0cbfccdcc3545b2f304b49 333871: e5ad334b609eeeaa6bd823419bbd7d6d13cd0349 v: v3 --- [refs] | 2 +- trunk/arch/ia64/Kconfig | 2 +- trunk/arch/ia64/kernel/time.c | 4 +- trunk/arch/powerpc/Kconfig | 2 +- trunk/arch/powerpc/kernel/time.c | 4 +- trunk/arch/s390/Kconfig | 2 +- trunk/arch/s390/kernel/time.c | 4 +- trunk/arch/x86/include/asm/vgtod.h | 4 +- trunk/arch/x86/kernel/setup.c | 3 + trunk/arch/x86/kernel/vsyscall_64.c | 49 ++++---- trunk/arch/x86/vdso/vclock_gettime.c | 22 ++-- trunk/include/linux/alarmtimer.h | 31 +---- trunk/include/linux/clocksource.h | 16 --- trunk/include/linux/jiffies.h | 19 +-- trunk/include/linux/timekeeper_internal.h | 108 +++++++++++++++++ trunk/kernel/time.c | 2 +- trunk/kernel/time/Kconfig | 4 + trunk/kernel/time/alarmtimer.c | 118 +++++++------------ trunk/kernel/time/jiffies.c | 32 +++++- trunk/kernel/time/timekeeping.c | 134 ++++++++-------------- 20 files changed, 294 insertions(+), 268 deletions(-) create mode 100644 trunk/include/linux/timekeeper_internal.h diff --git a/[refs] b/[refs] index 1ebe46cf1dd4..72e34450da49 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 015a830d44695adff8b52d2703608cec4a1041ba +refs/heads/master: 28f2b02bc581ffc835bc1691b18d03f62fcf0395 diff --git a/trunk/arch/ia64/Kconfig b/trunk/arch/ia64/Kconfig index 310cf5781fad..f9e673c252a7 100644 --- a/trunk/arch/ia64/Kconfig +++ b/trunk/arch/ia64/Kconfig @@ -38,7 +38,7 @@ config IA64 select ARCH_TASK_STRUCT_ALLOCATOR select ARCH_THREAD_INFO_ALLOCATOR select ARCH_CLOCKSOURCE_DATA - select GENERIC_TIME_VSYSCALL + select GENERIC_TIME_VSYSCALL_OLD default y help The Itanium Processor Family is Intel's 64-bit successor to diff --git a/trunk/arch/ia64/kernel/time.c b/trunk/arch/ia64/kernel/time.c index ecc904b33c5f..d2f4e260db40 100644 --- a/trunk/arch/ia64/kernel/time.c +++ b/trunk/arch/ia64/kernel/time.c @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include @@ -454,7 +454,7 @@ void update_vsyscall_tz(void) { } -void update_vsyscall(struct timespec *wall, struct timespec *wtm, +void update_vsyscall_old(struct timespec *wall, struct timespec *wtm, struct clocksource *c, u32 mult) { write_seqcount_begin(&fsyscall_gtod_data.seq); diff --git a/trunk/arch/powerpc/Kconfig b/trunk/arch/powerpc/Kconfig index 352f416269ce..0881660c9efa 100644 --- a/trunk/arch/powerpc/Kconfig +++ b/trunk/arch/powerpc/Kconfig @@ -135,7 +135,7 @@ config PPC select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD select GENERIC_CMOS_UPDATE - select GENERIC_TIME_VSYSCALL + select GENERIC_TIME_VSYSCALL_OLD select GENERIC_CLOCKEVENTS select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER diff --git a/trunk/arch/powerpc/kernel/time.c b/trunk/arch/powerpc/kernel/time.c index e49e93191b69..c825809b92e7 100644 --- a/trunk/arch/powerpc/kernel/time.c +++ b/trunk/arch/powerpc/kernel/time.c @@ -73,7 +73,7 @@ /* powerpc clocksource/clockevent code */ #include -#include +#include static cycle_t rtc_read(struct clocksource *); static struct clocksource clocksource_rtc = { @@ -712,7 +712,7 @@ static cycle_t timebase_read(struct clocksource *cs) return (cycle_t)get_tb(); } -void update_vsyscall(struct timespec *wall_time, struct timespec *wtm, +void update_vsyscall_old(struct timespec *wall_time, struct timespec *wtm, struct clocksource *clock, u32 mult) { u64 new_tb_to_xs, new_stamp_xsec; diff --git a/trunk/arch/s390/Kconfig b/trunk/arch/s390/Kconfig index 107610e01a29..ba488aa500de 100644 --- a/trunk/arch/s390/Kconfig +++ b/trunk/arch/s390/Kconfig @@ -121,7 +121,7 @@ config S390 select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE select ARCH_WANT_IPC_PARSE_VERSION select GENERIC_SMP_IDLE_THREAD - select GENERIC_TIME_VSYSCALL + select GENERIC_TIME_VSYSCALL_OLD select GENERIC_CLOCKEVENTS select KTIME_SCALAR if 32BIT select HAVE_ARCH_SECCOMP_FILTER diff --git a/trunk/arch/s390/kernel/time.c b/trunk/arch/s390/kernel/time.c index dcec960fc724..c5430bf5b5e6 100644 --- a/trunk/arch/s390/kernel/time.c +++ b/trunk/arch/s390/kernel/time.c @@ -34,7 +34,7 @@ #include #include #include -#include +#include #include #include #include @@ -219,7 +219,7 @@ struct clocksource * __init clocksource_default_clock(void) return &clocksource_tod; } -void update_vsyscall(struct timespec *wall_time, struct timespec *wtm, +void update_vsyscall_old(struct timespec *wall_time, struct timespec *wtm, struct clocksource *clock, u32 mult) { if (clock != &clocksource_tod) diff --git a/trunk/arch/x86/include/asm/vgtod.h b/trunk/arch/x86/include/asm/vgtod.h index 8b38be2de9e1..46e24d36b7da 100644 --- a/trunk/arch/x86/include/asm/vgtod.h +++ b/trunk/arch/x86/include/asm/vgtod.h @@ -17,8 +17,8 @@ struct vsyscall_gtod_data { /* open coded 'struct timespec' */ time_t wall_time_sec; - u32 wall_time_nsec; - u32 monotonic_time_nsec; + u64 wall_time_snsec; + u64 monotonic_time_snsec; time_t monotonic_time_sec; struct timezone sys_tz; diff --git a/trunk/arch/x86/kernel/setup.c b/trunk/arch/x86/kernel/setup.c index f4b9b80e1b95..4062f15bfbdd 100644 --- a/trunk/arch/x86/kernel/setup.c +++ b/trunk/arch/x86/kernel/setup.c @@ -68,6 +68,7 @@ #include #include #include +#include #include