• Peter Zijlstra's avatar
    sched/fair: Move enqueue migrate handling · b382a531
    Peter Zijlstra authored
    Move the entity migrate handling from enqueue_entity_load_avg() to
    update_load_avg(). This has two benefits:
    
     - {en,de}queue_entity_load_avg() will become purely about managing
       runnable_load
    
     - we can avoid a double update_tg_load_avg() and reduce pressure on
       the global tg->shares cacheline
    
    The reason we do this is so that we can change update_cfs_shares() to
    change both weight and (future) runnable_weight. For this to work we
    need to have the cfs_rq averages up-to-date (which means having done
    the attach), but we need the cfs_rq->avg.runnable_avg to not yet
    include the se's contribution (since se->on_rq == 0).
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    b382a531
fair.c 253 KB