Now we have rq runnable load average value, and prepare to use it in rq
cpu_load[] updating.

So we want to make sure rq cup_load[] updating is using the latest
data. The update_cpu_load_active(rq) was put after task_tick() is for
this purpose.

Signed-off-by: Alex Shi <alex....@intel.com>
---
 kernel/sched/core.c |    2 +-
 kernel/sched/fair.c |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 9dbbe45..bacfee0 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2657,8 +2657,8 @@ void scheduler_tick(void)
 
        raw_spin_lock(&rq->lock);
        update_rq_clock(rq);
-       update_cpu_load_active(rq);
        curr->sched_class->task_tick(rq, curr, 0);
+       update_cpu_load_active(rq);
        raw_spin_unlock(&rq->lock);
 
        perf_event_task_tick();
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index bc60e43..44c07ed 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6011,6 +6011,7 @@ static void nohz_idle_balance(int this_cpu, enum 
cpu_idle_type idle)
 
                raw_spin_lock_irq(&rq->lock);
                update_rq_clock(rq);
+               update_rq_runnable_avg(rq, rq->nr_running);
                update_idle_cpu_load(rq);
                raw_spin_unlock_irq(&rq->lock);
 
-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to