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 Original line 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_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC)
	select GENERIC_TIME_VSYSCALL if X86_64
	select GENERIC_TIME_VSYSCALL if X86_64
	select KTIME_SCALAR if X86_32
	select KTIME_SCALAR if X86_32
	select ALWAYS_USE_PERSISTENT_CLOCK
	select GENERIC_STRNCPY_FROM_USER
	select GENERIC_STRNCPY_FROM_USER
	select GENERIC_STRNLEN_USER
	select GENERIC_STRNLEN_USER
	select HAVE_CONTEXT_TRACKING if X86_64
	select HAVE_CONTEXT_TRACKING if X86_64
+0 −2
Original line number Original line Diff line number Diff line
@@ -20,7 +20,6 @@ if RTC_CLASS
config RTC_HCTOSYS
config RTC_HCTOSYS
	bool "Set system time from RTC on startup and resume"
	bool "Set system time from RTC on startup and resume"
	default y
	default y
	depends on !ALWAYS_USE_PERSISTENT_CLOCK
	help
	help
	  If you say yes here, the system time (wall clock) will be set using
	  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
	  the value read from a specified RTC device. This is useful to avoid
@@ -29,7 +28,6 @@ config RTC_HCTOSYS
config RTC_SYSTOHC
config RTC_SYSTOHC
	bool "Set the RTC time based on NTP synchronization"
	bool "Set the RTC time based on NTP synchronization"
	default y
	default y
	depends on !ALWAYS_USE_PERSISTENT_CLOCK
	help
	help
	  If you say yes here, the system time (wall clock) will be stored
	  If you say yes here, the system time (wall clock) will be stored
	  in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11
	  in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11
+0 −4
Original line number Original line Diff line number Diff line
@@ -117,14 +117,10 @@ static inline bool timespec_valid_strict(const struct timespec *ts)


extern bool persistent_clock_exist;
extern bool persistent_clock_exist;


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


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


# Platforms has a persistent clock
config ALWAYS_USE_PERSISTENT_CLOCK
	bool
	default n

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


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