Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc51bf6e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer fixes from Thomas Gleixner:

 - Cure for not using zalloc in the first place, which leads to random
   crashes with CPUMASK_OFF_STACK.

 - Revert a user space visible change which broke udev

 - Add a missing cpu_online early return introduced by the new full
   dyntick conversions

 - Plug a long standing race in the timer wheel cpu hotplug code.
   Sigh...

 - Cleanup NOHZ per cpu data on cpu down to prevent stale data on cpu
   up.

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  time: Revert ALWAYS_USE_PERSISTENT_CLOCK compile time optimizaitons
  timer: Don't reinitialize the cpu base lock during CPU_UP_PREPARE
  tick: Don't invoke tick_nohz_stop_sched_tick() if the cpu is offline
  tick: Cleanup NOHZ per cpu data on cpu down
  tick: Use zalloc_cpumask_var for allocating offstack cpumasks
parents 37cae5e2 b4f711ee
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -108,7 +108,6 @@ config X86
	select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC)
	select GENERIC_TIME_VSYSCALL if X86_64
	select KTIME_SCALAR if X86_32
	select ALWAYS_USE_PERSISTENT_CLOCK
	select GENERIC_STRNCPY_FROM_USER
	select GENERIC_STRNLEN_USER
	select HAVE_CONTEXT_TRACKING if X86_64
+0 −2
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ if RTC_CLASS
config RTC_HCTOSYS
	bool "Set system time from RTC on startup and resume"
	default y
	depends on !ALWAYS_USE_PERSISTENT_CLOCK
	help
	  If you say yes here, the system time (wall clock) will be set using
	  the value read from a specified RTC device. This is useful to avoid
@@ -29,7 +28,6 @@ config RTC_HCTOSYS
config RTC_SYSTOHC
	bool "Set the RTC time based on NTP synchronization"
	default y
	depends on !ALWAYS_USE_PERSISTENT_CLOCK
	help
	  If you say yes here, the system time (wall clock) will be stored
	  in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11
+0 −4
Original line number Diff line number Diff line
@@ -117,14 +117,10 @@ static inline bool timespec_valid_strict(const struct timespec *ts)

extern bool persistent_clock_exist;

#ifdef ALWAYS_USE_PERSISTENT_CLOCK
#define has_persistent_clock()	true
#else
static inline bool has_persistent_clock(void)
{
	return persistent_clock_exist;
}
#endif

extern void read_persistent_clock(struct timespec *ts);
extern void read_boot_clock(struct timespec *ts);
+0 −5
Original line number Diff line number Diff line
@@ -12,11 +12,6 @@ config CLOCKSOURCE_WATCHDOG
config ARCH_CLOCKSOURCE_DATA
	bool

# Platforms has a persistent clock
config ALWAYS_USE_PERSISTENT_CLOCK
	bool
	default n

# Timekeeping vsyscall support
config GENERIC_TIME_VSYSCALL
	bool
+5 −5
Original line number Diff line number Diff line
@@ -786,11 +786,11 @@ bool tick_broadcast_oneshot_available(void)

void __init tick_broadcast_init(void)
{
	alloc_cpumask_var(&tick_broadcast_mask, GFP_NOWAIT);
	alloc_cpumask_var(&tmpmask, GFP_NOWAIT);
	zalloc_cpumask_var(&tick_broadcast_mask, GFP_NOWAIT);
	zalloc_cpumask_var(&tmpmask, GFP_NOWAIT);
#ifdef CONFIG_TICK_ONESHOT
	alloc_cpumask_var(&tick_broadcast_oneshot_mask, GFP_NOWAIT);
	alloc_cpumask_var(&tick_broadcast_pending_mask, GFP_NOWAIT);
	alloc_cpumask_var(&tick_broadcast_force_mask, GFP_NOWAIT);
	zalloc_cpumask_var(&tick_broadcast_oneshot_mask, GFP_NOWAIT);
	zalloc_cpumask_var(&tick_broadcast_pending_mask, GFP_NOWAIT);
	zalloc_cpumask_var(&tick_broadcast_force_mask, GFP_NOWAIT);
#endif
}
Loading