]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - kernel/sched.c
sched: Request for idle balance during nohz idle load balance
[karo-tx-linux.git] / kernel / sched.c
index 9e49af00ae3e41240af20e25e8462734ab4a108b..7bc9b0e84eb36ed459f3c0169526c225fb39683e 100644 (file)
@@ -644,7 +644,7 @@ struct rq {
 
        unsigned long cpu_power;
 
-       unsigned char idle_at_tick;
+       unsigned char idle_balance;
        /* For active balancing */
        int post_schedule;
        int active_balance;
@@ -2751,8 +2751,10 @@ void scheduler_ipi(void)
        /*
         * Check if someone kicked us for doing the nohz idle load balance.
         */
-       if (unlikely(got_nohz_idle_kick() && !need_resched()))
+       if (unlikely(got_nohz_idle_kick() && !need_resched())) {
+               this_rq()->idle_balance = 1;
                raise_softirq_irqoff(SCHED_SOFTIRQ);
+       }
        irq_exit();
 }
 
@@ -4247,7 +4249,7 @@ void scheduler_tick(void)
        perf_event_task_tick();
 
 #ifdef CONFIG_SMP
-       rq->idle_at_tick = idle_cpu(cpu);
+       rq->idle_balance = idle_cpu(cpu);
        trigger_load_balance(rq, cpu);
 #endif
 }