From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932398Ab2JLLmk (ORCPT ); Fri, 12 Oct 2012 07:42:40 -0400 Received: from www.linutronix.de ([62.245.132.108]:54696 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758512Ab2JLLmj (ORCPT ); Fri, 12 Oct 2012 07:42:39 -0400 Date: Fri, 12 Oct 2012 13:42:29 +0200 (CEST) From: Thomas Gleixner To: Linus Torvalds cc: Andrew Morton , Ingo Molnar , John Stultz , LKML Subject: Re: [GIT PULL] timers for 3.7 In-Reply-To: Message-ID: References: User-Agent: Alpine 2.02 (LFD 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 12 Oct 2012, Thomas Gleixner wrote: > Linus, > > please pull the latest timers-core-for-linus git tree from: > > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-core-for-linus Forgot to add the short description: * Bug fixes (one for a long standing dead loop issue) * Rework of time related vsyscalls * Timer extensions for workqueues * Alarm timer updates * Jiffies updates to remove compile time dependencies Thanks, tglx > ------------------> > Arnd Bergmann (1): > time/jiffies: bring back unconditional LATCH definition > > Dan Carpenter (1): > timekeeping: Cast raw_interval to u64 to avoid shift overflow > > Hildner, Christian (1): > timers: Fix endless looping between cascade() and internal_add_timer() > > John Stultz (11): > alarmtimer: Use hrtimer per-alarm instead of per-base > alarmtimer: Remove unused helpers & defines > alarmtimer: Rename alarmtimer_remove to alarmtimer_dequeue > jiffies: Kill unused TICK_USEC_TO_NSEC > jiffies: Remove compile time assumptions about CLOCK_TICK_RATE > time: Move timekeeper structure to timekeeper_internal.h for vsyscall changes > time: Move update_vsyscall definitions to timekeeper_internal.h > time: Convert CONFIG_GENERIC_TIME_VSYSCALL to CONFIG_GENERIC_TIME_VSYSCALL_OLD > time: Introduce new GENERIC_TIME_VSYSCALL > time: Only do nanosecond rounding on GENERIC_TIME_VSYSCALL_OLD systems > time: Convert x86_64 to using new update_vsyscall > > Tejun Heo (4): > timer: Generalize timer->base flags handling > timer: Relocate declarations of init_timer_on_stack_key() > timer: Clean up timer initializers > timer: Implement TIMER_IRQSAFE > > Todd Poynor (1): > alarmtimer: Implement minimum alarm interval for allowing suspend > > > arch/ia64/Kconfig | 2 +- > arch/ia64/kernel/time.c | 4 +- > arch/powerpc/Kconfig | 2 +- > arch/powerpc/kernel/time.c | 4 +- > arch/s390/Kconfig | 2 +- > arch/s390/kernel/time.c | 4 +- > arch/x86/include/asm/vgtod.h | 4 +- > arch/x86/kernel/setup.c | 3 + > arch/x86/kernel/vsyscall_64.c | 49 ++++++---- > arch/x86/vdso/vclock_gettime.c | 22 +++-- > include/linux/alarmtimer.h | 31 +------ > include/linux/clocksource.h | 16 ---- > include/linux/jiffies.h | 20 +---- > include/linux/timekeeper_internal.h | 108 +++++++++++++++++++++++ > include/linux/timer.h | 165 ++++++++++++++--------------------- > kernel/time.c | 2 +- > kernel/time/Kconfig | 4 + > kernel/time/alarmtimer.c | 118 +++++++++---------------- > kernel/time/jiffies.c | 32 +++++++- > kernel/time/timekeeping.c | 117 +++++++------------------ > kernel/timer.c | 118 ++++++++++++------------- > 21 files changed, 403 insertions(+), 424 deletions(-) > create mode 100644 include/linux/timekeeper_internal.h > > diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig > index 310cf57..f9e673c 100644 > --- a/arch/ia64/Kconfig > +++ b/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/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c > index ecc904b..d2f4e26 100644 > --- a/arch/ia64/kernel/time.c > +++ b/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/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 352f416..0881660 100644 > --- a/arch/powerpc/Kconfig > +++ b/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/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c > index e49e931..c825809 100644 > --- a/arch/powerpc/kernel/time.c > +++ b/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/arch/s390/Kconfig b/arch/s390/Kconfig > index 107610e..ba488aa 100644 > --- a/arch/s390/Kconfig > +++ b/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/arch/s390/kernel/time.c b/arch/s390/kernel/time.c > index dcec960..c5430bf 100644 > --- a/arch/s390/kernel/time.c > +++ b/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/arch/x86/include/asm/vgtod.h b/arch/x86/include/asm/vgtod.h > index 8b38be2..46e24d3 100644 > --- a/arch/x86/include/asm/vgtod.h > +++ b/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/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c > index f4b9b80..4062f15 100644 > --- a/arch/x86/kernel/setup.c > +++ b/arch/x86/kernel/setup.c > @@ -68,6 +68,7 @@ > #include > #include > #include > +#include > > #include