History

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

Pull timer fixes from Thomas Gleixner: "A pile of fixes for long standing issues with the timer wheel and the NOHZ code: - Prevent timer base confusion accross the nohz switch, which can cause unlocked access and data corruption - Reinitialize the stale base clock on cpu hotplug to prevent subtle side effects including rollovers on 32bit - Prevent an interrupt storm when the timer softirq is already pending caused by tick_nohz_stop_sched_tick() - Move the timer start tracepoint to a place where it actually makes sense - Add documentation to timerqueue functions as they caused confusion several times now" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: timerqueue: Document return values of timerqueue_add/del() timers: Invoke timer_start_debug() where it makes sense nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick() timers: Reinitialize per cpu bases on hotplug timers: Use deferrable base independent of base::nohz_active

Linus Torvalds committed 8 years ago

Commit cea92e82 parents 8d517bd 9f4533c6 files · +52 −20Browse files

Showing the changes to include/linux (2 of 6 files). Show all

Unified · Split

2 files
  1. include/linux/cpuhotplug.h +1 −1
  2. include/linux/timer.h +3 −1
include/linux/cpuhotplug.h+1−1
@@ -86,7 +86,7 @@ enum cpuhp_state { · 85 unmodified lines
86 CPUHP_MM_ZSWP_POOL_PREPARE,86 CPUHP_MM_ZSWP_POOL_PREPARE,
87 CPUHP_KVM_PPC_BOOK3S_PREPARE,87 CPUHP_KVM_PPC_BOOK3S_PREPARE,
88 CPUHP_ZCOMP_PREPARE,88 CPUHP_ZCOMP_PREPARE,
89 CPUHP_TIMERS_DEAD,89 CPUHP_TIMERS_PREPARE,
90 CPUHP_MIPS_SOC_PREPARE,90 CPUHP_MIPS_SOC_PREPARE,
91 CPUHP_BP_PREPARE_DYN,91 CPUHP_BP_PREPARE_DYN,
92 CPUHP_BP_PREPARE_DYN_END = CPUHP_BP_PREPARE_DYN + 20,92 CPUHP_BP_PREPARE_DYN_END = CPUHP_BP_PREPARE_DYN + 20,
include/linux/timer.h+3−1
@@ -207,9 +207,11 @@ unsigned long round_jiffies_up(unsigned long j); · 206 unmodified lines
207unsigned long round_jiffies_up_relative(unsigned long j);207unsigned long round_jiffies_up_relative(unsigned long j);
208 208
209#ifdef CONFIG_HOTPLUG_CPU209#ifdef CONFIG_HOTPLUG_CPU
210int timers_prepare_cpu(unsigned int cpu);
210int timers_dead_cpu(unsigned int cpu);211int timers_dead_cpu(unsigned int cpu);
211#else212#else
212#define timers_dead_cpu NULL213#define timers_prepare_cpu NULL
214#define timers_dead_cpu NULL
213#endif215#endif
214 216
215#endif217#endif