• Paul Turner's avatar
    sched: Move periodic share updates to entity_tick() · 43365bd7
    Paul Turner authored
    Long running entities that do not block (dequeue) require periodic updates to
    maintain accurate share values.  (Note: group entities with several threads are
    quite likely to be non-blocking in many circumstances).
    
    By virtue of being long-running however, we will see entity ticks (otherwise
    the required update occurs in dequeue/put and we are done).  Thus we can move
    the detection (and associated work) for these updates into the periodic path.
    
    This restores the 'atomicity' of update_curr() with respect to accounting.
    Signed-off-by: default avatarPaul Turner <pjt@google.com>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <20101216031038.067028969@google.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    43365bd7
sched_fair.c 107 KB