• Glauber Costa's avatar
    sched: adjust scheduler cpu power for stolen time · 095c0aa8
    Glauber Costa authored
    This patch makes update_rq_clock() aware of steal time.
    The mechanism of operation is not different from irq_time,
    and follows the same principles. This lives in a CONFIG
    option itself, and can be compiled out independently of
    the rest of steal time reporting. The effect of disabling it
    is that the scheduler will still report steal time (that cannot be
    disabled), but won't use this information for cpu power adjustments.
    
    Everytime update_rq_clock_task() is invoked, we query information
    about how much time was stolen since last call, and feed it into
    sched_rt_avg_update().
    
    Although steal time reporting in account_process_tick() keeps
    track of the last time we read the steal clock, in prev_steal_time,
    this patch do it independently using another field,
    prev_steal_time_rq. This is because otherwise, information about time
    accounted in update_process_tick() would never reach us in update_rq_clock().
    Signed-off-by: default avatarGlauber Costa <glommer@redhat.com>
    Acked-by: default avatarRik van Riel <riel@redhat.com>
    Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Tested-by: default avatarEric B Munson <emunson@mgebm.net>
    CC: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    CC: Anthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    095c0aa8
sched_features.h 1.82 KB