Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 6 Jul 2013 21:09:38 +0000 (14:09 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 6 Jul 2013 21:09:38 +0000 (14:09 -0700)
Pull timer core updates from Thomas Gleixner:
 "The timer changes contain:

   - posix timer code consolidation and fixes for odd corner cases

   - sched_clock implementation moved from ARM to core code to avoid
     duplication by other architectures

   - alarm timer updates

   - clocksource and clockevents unregistration facilities

   - clocksource/events support for new hardware

   - precise nanoseconds RTC readout (Xen feature)

   - generic support for Xen suspend/resume oddities

   - the usual lot of fixes and cleanups all over the place

  The parts which touch other areas (ARM/XEN) have been coordinated with
  the relevant maintainers.  Though this results in an handful of
  trivial to solve merge conflicts, which we preferred over nasty cross
  tree merge dependencies.

  The patches which have been committed in the last few days are bug
  fixes plus the posix timer lot.  The latter was in akpms queue and
  next for quite some time; they just got forgotten and Frederic
  collected them last minute."

* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (59 commits)
  hrtimer: Remove unused variable
  hrtimers: Move SMP function call to thread context
  clocksource: Reselect clocksource when watchdog validated high-res capability
  posix-cpu-timers: don't account cpu timer after stopped thread runtime accounting
  posix_timers: fix racy timer delta caching on task exit
  posix-timers: correctly get dying task time sample in posix_cpu_timer_schedule()
  selftests: add basic posix timers selftests
  posix_cpu_timers: consolidate expired timers check
  posix_cpu_timers: consolidate timer list cleanups
  posix_cpu_timer: consolidate expiry time type
  tick: Sanitize broadcast control logic
  tick: Prevent uncontrolled switch to oneshot mode
  tick: Make oneshot broadcast robust vs. CPU offlining
  x86: xen: Sync the CMOS RTC as well as the Xen wallclock
  x86: xen: Sync the wallclock when the system time is set
  timekeeping: Indicate that clock was set in the pvclock gtod notifier
  timekeeping: Pass flags instead of multiple bools to timekeeping_update()
  xen: Remove clock_was_set() call in the resume path
  hrtimers: Support resuming with two or more CPUs online (but stopped)
  timer: Fix jiffies wrap behavior of round_jiffies_common()
  ...

20 files changed:
1  2 
arch/arm/Kconfig
arch/arm/kernel/Makefile
arch/arm/mach-integrator/integrator_ap.c
arch/arm/mach-ixp4xx/common.c
arch/arm/mach-omap2/timer.c
arch/arm/mach-u300/timer.c
arch/x86/lguest/boot.c
arch/x86/platform/efi/efi.c
arch/x86/xen/time.c
drivers/clocksource/Kconfig
drivers/clocksource/clksrc-dbx500-prcmu.c
drivers/clocksource/dw_apb_timer_of.c
drivers/clocksource/nomadik-mtu.c
drivers/xen/manage.c
include/linux/dw_apb_timer.h
include/linux/efi.h
init/Kconfig
init/main.c
kernel/hrtimer.c
kernel/sched/stats.h

Simple merge
index fccfbdb03df183d840d5a4f1191606df243d05d8,97cb0576d07c3977adf4b4e94807a34e6477d03f..86d10dd47dc46b52328436fbfee0baf88cbc87fc
@@@ -15,8 -15,8 +15,8 @@@ CFLAGS_REMOVE_return_address.o = -p
  
  # Object file lists.
  
 -obj-y         := elf.o entry-armv.o entry-common.o irq.o opcodes.o \
 +obj-y         := elf.o entry-common.o irq.o opcodes.o \
-                  process.o ptrace.o return_address.o sched_clock.o \
+                  process.o ptrace.o return_address.o \
                   setup.o signal.o stacktrace.o sys_arm.o time.o traps.o
  
  obj-$(CONFIG_ATAGS)           += atags_parse.o
index a5b15c4e8def4ec0d833f5224215b8f0ff688d0a,aa4346227c416df8cd9a7d4a3f9df09e6b80a03e..d9e95e612fcbfaecf9855d4a39f5017d236edb6f
@@@ -41,6 -41,8 +41,7 @@@
  #include <linux/stat.h>
  #include <linux/sys_soc.h>
  #include <linux/termios.h>
 -#include <video/vga.h>
+ #include <linux/sched_clock.h>
  
  #include <mach/hardware.h>
  #include <mach/platform.h>
Simple merge
Simple merge
index 390ae5feb1d00f802e117618d75cfae080f74232,af771b76fe1caf266ee8a0eb5e10bc5e77891936..b5db207dfd1e0129a08ae9cd91a4d6df7210079d
  #include <linux/clk.h>
  #include <linux/err.h>
  #include <linux/irq.h>
 +#include <linux/delay.h>
 +#include <linux/of_address.h>
 +#include <linux/of_irq.h>
+ #include <linux/sched_clock.h>
  
 -#include <mach/hardware.h>
 -#include <mach/irqs.h>
 -
  /* Generic stuff */
- #include <asm/sched_clock.h>
  #include <asm/mach/map.h>
  #include <asm/mach/time.h>
  
Simple merge
Simple merge
index a690868be837ad99407d050a1c0229d9a237adc5,7a5671b4fec6b8c0fc53675d153ddc155c4b68ab..ee365895b06bb431a2f56e1f940119a9c0cc5ef1
@@@ -14,7 -14,7 +14,8 @@@
  #include <linux/kernel_stat.h>
  #include <linux/math64.h>
  #include <linux/gfp.h>
 +#include <linux/slab.h>
+ #include <linux/pvclock_gtod.h>
  
  #include <asm/pvclock.h>
  #include <asm/xen/hypervisor.h>
Simple merge
index cef554432a339822ad6fcf7f280fadb3f060432c,d9a1e8d5175196d33879c0fff3ca43998f7703b3..4cbae4f762b199db708a56d4814a8be578d14024
  #include <linux/of.h>
  #include <linux/of_address.h>
  #include <linux/of_irq.h>
- #include <asm/mach/time.h>
- #include <asm/sched_clock.h>
 +#include <linux/clk.h>
+ #include <linux/sched_clock.h>
  
  static void timer_get_base_and_rate(struct device_node *np,
                                    void __iomem **base, u32 *rate)
Simple merge
Simple merge
index 07261d52a6dfabee77c5ffbc34953a6faec1fdce,b1cd9597c241320a6006f8c771e0a468dde6c52d..1f79b20918b1eed2b9b1598cf8a6ccf545b23952
@@@ -51,6 -51,6 +51,5 @@@ dw_apb_clocksource_init(unsigned rating
  void dw_apb_clocksource_register(struct dw_apb_clocksource *dw_cs);
  void dw_apb_clocksource_start(struct dw_apb_clocksource *dw_cs);
  cycle_t dw_apb_clocksource_read(struct dw_apb_clocksource *dw_cs);
- void dw_apb_clocksource_unregister(struct dw_apb_clocksource *dw_cs);
  
 -extern void dw_apb_timer_init(void);
  #endif /* __DW_APB_TIMER_H__ */
Simple merge
diff --cc init/Kconfig
Simple merge
diff --cc init/main.c
index f2366533c922de7a49f1f9beee6b977603bdaaf2,bef4a6ac7c76dd62ad6339fd5a11b81b87c79009..d03d2ec2eacfd351241af097f6402cf9b509e8e5
@@@ -554,7 -556,7 +555,8 @@@ asmlinkage void __init start_kernel(voi
        softirq_init();
        timekeeping_init();
        time_init();
+       sched_clock_postinit();
 +      perf_event_init();
        profile_init();
        call_function_init();
        WARN(!irqs_disabled(), "Interrupts were enabled early\n");
Simple merge
Simple merge