nohz: Remove idle task special case
authorFrederic Weisbecker <fweisbec@gmail.com>
Wed, 27 May 2015 13:42:42 +0000 (15:42 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Wed, 29 Jul 2015 13:44:59 +0000 (15:44 +0200)
On nohz full early days, idle dynticks and full dynticks weren't well
integrated and we couldn't risk full dynticks calls on idle without
risking messing up tick idle statistics. This is why we prevented such
thing to happen.

Nowadays full dynticks and idle dynticks are better integrated and
interact without known issue.

So lets remove that.

Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
kernel/time/tick-sched.c

index c792429e98c6de3ffb75f95f745d6cca9724585b..d6c8eff6e7b44eac8c6ad542024f89f5d143592c 100644 (file)
@@ -208,10 +208,8 @@ void __tick_nohz_full_check(void)
        struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched);
 
        if (tick_nohz_full_cpu(smp_processor_id())) {
-               if (ts->tick_stopped && !is_idle_task(current)) {
-                       if (!can_stop_full_tick())
-                               tick_nohz_restart_sched_tick(ts, ktime_get());
-               }
+               if (ts->tick_stopped && !can_stop_full_tick())
+                       tick_nohz_restart_sched_tick(ts, ktime_get());
        }
 }
 
@@ -710,7 +708,7 @@ static void tick_nohz_full_stop_tick(struct tick_sched *ts)
 #ifdef CONFIG_NO_HZ_FULL
        int cpu = smp_processor_id();
 
-       if (!tick_nohz_full_cpu(cpu) || is_idle_task(current))
+       if (!tick_nohz_full_cpu(cpu))
                return;
 
        if (!ts->tick_stopped && ts->nohz_mode == NOHZ_MODE_INACTIVE)