Commit-ID: 1e1c48e6befca01abb2ed224a76fbe0ea8c73e30 Gitweb: http://git.kernel.org/tip/1e1c48e6befca01abb2ed224a76fbe0ea8c73e30 Author: Richard Cochran <rcochran@xxxxxxxxxxxxx> AuthorDate: Wed, 7 Sep 2016 23:05:59 +0200 Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx> CommitDate: Tue, 18 Apr 2017 11:46:40 +0200 timer: Always queue timers on the local CPU The timer pull model is in place so we can remove the heuristics which try to guess the best target CPU at enqueue/modification time. All non pinned timers are queued on the local cpu in the seperate storage and eventually pulled at expiry time to a remote cpu. Signed-off-by: Richard Cochran <rcochran@xxxxxxxxxxxxx> Signed-off-by: Anna-Maria Gleixner <anna-maria@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> --- kernel/time/timer.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/kernel/time/timer.c b/kernel/time/timer.c index 07f938e..b00199a 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -857,18 +857,6 @@ static inline struct timer_base *get_timer_base(u32 tflags) } #ifdef CONFIG_NO_HZ_COMMON -static inline struct timer_base * -get_target_base(struct timer_base *base, unsigned tflags) -{ -#ifdef CONFIG_SMP - if ((tflags & TIMER_PINNED) || !base->migration_enabled) - return get_timer_this_cpu_base(tflags); - return get_timer_cpu_base(tflags, get_nohz_timer_target()); -#else - return get_timer_this_cpu_base(tflags); -#endif -} - static inline void forward_timer_base(struct timer_base *base) { unsigned long jnow = READ_ONCE(jiffies); @@ -890,12 +878,6 @@ static inline void forward_timer_base(struct timer_base *base) base->clk = base->next_expiry; } #else -static inline struct timer_base * -get_target_base(struct timer_base *base, unsigned tflags) -{ - return get_timer_this_cpu_base(tflags); -} - static inline void forward_timer_base(struct timer_base *base) { } #endif @@ -985,7 +967,7 @@ __mod_timer(struct timer_list *timer, unsigned long expires, bool pending_only) if (!ret && pending_only) goto out_unlock; - new_base = get_target_base(base, timer->flags); + new_base = get_timer_this_cpu_base(timer->flags); if (base != new_base) { /* -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |