Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[muen/linux.git] / kernel / time / tick-sched.c
index ccd3782da0bf65f485d426845a4aaf6435bc0391..5d4a0342f934ddd0915e0e889cdaebb2ab9a8088 100644 (file)
@@ -463,11 +463,18 @@ static int __init setup_tick_nohz(char *str)
 
 __setup("nohz=", setup_tick_nohz);
 
-int tick_nohz_tick_stopped(void)
+bool tick_nohz_tick_stopped(void)
 {
        return __this_cpu_read(tick_cpu_sched.tick_stopped);
 }
 
+bool tick_nohz_tick_stopped_cpu(int cpu)
+{
+       struct tick_sched *ts = per_cpu_ptr(&tick_cpu_sched, cpu);
+
+       return ts->tick_stopped;
+}
+
 /**
  * tick_nohz_update_jiffies - update jiffies when idle was interrupted
  *
@@ -723,12 +730,6 @@ static ktime_t tick_nohz_stop_sched_tick(struct tick_sched *ts,
                delta = KTIME_MAX;
        }
 
-#ifdef CONFIG_NO_HZ_FULL
-       /* Limit the tick delta to the maximum scheduler deferment */
-       if (!ts->inidle)
-               delta = min(delta, scheduler_tick_max_deferment());
-#endif
-
        /* Calculate the next expiry time */
        if (delta < (KTIME_MAX - basemono))
                expires = basemono + delta;
@@ -935,13 +936,6 @@ void tick_nohz_idle_enter(void)
        struct tick_sched *ts;
 
        lockdep_assert_irqs_enabled();
-       /*
-        * Update the idle state in the scheduler domain hierarchy
-        * when tick_nohz_stop_sched_tick() is called from the idle loop.
-        * State will be updated to busy during the first busy tick after
-        * exiting idle.
-        */
-       set_cpu_sd_state_idle();
 
        local_irq_disable();