diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 9e49af00ae3e..7bc9b0e84eb3 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -644,7 +644,7 @@ struct rq { | |||
644 | 644 | ||
645 | unsigned long cpu_power; | 645 | unsigned long cpu_power; |
646 | 646 | ||
647 | unsigned char idle_at_tick; | 647 | unsigned char idle_balance; |
648 | /* For active balancing */ | 648 | /* For active balancing */ |
649 | int post_schedule; | 649 | int post_schedule; |
650 | int active_balance; | 650 | int active_balance; |
@@ -2751,8 +2751,10 @@ void scheduler_ipi(void) | |||
2751 | /* | 2751 | /* |
2752 | * Check if someone kicked us for doing the nohz idle load balance. | 2752 | * Check if someone kicked us for doing the nohz idle load balance. |
2753 | */ | 2753 | */ |
2754 | if (unlikely(got_nohz_idle_kick() && !need_resched())) | 2754 | if (unlikely(got_nohz_idle_kick() && !need_resched())) { |
2755 | this_rq()->idle_balance = 1; | ||
2755 | raise_softirq_irqoff(SCHED_SOFTIRQ); | 2756 | raise_softirq_irqoff(SCHED_SOFTIRQ); |
2757 | } | ||
2756 | irq_exit(); | 2758 | irq_exit(); |
2757 | } | 2759 | } |
2758 | 2760 | ||
@@ -4247,7 +4249,7 @@ void scheduler_tick(void) | |||
4247 | perf_event_task_tick(); | 4249 | perf_event_task_tick(); |
4248 | 4250 | ||
4249 | #ifdef CONFIG_SMP | 4251 | #ifdef CONFIG_SMP |
4250 | rq->idle_at_tick = idle_cpu(cpu); | 4252 | rq->idle_balance = idle_cpu(cpu); |
4251 | trigger_load_balance(rq, cpu); | 4253 | trigger_load_balance(rq, cpu); |
4252 | #endif | 4254 | #endif |
4253 | } | 4255 | } |