• Youquan Song's avatar
    cpuidle: Get typical recent sleep interval · c96ca4fb
    Youquan Song authored
    The function detect_repeating_patterns was not very useful for
    workloads with alternating long and short pauses, for example
    virtual machines handling network requests for each other (say
    a web and database server).
    
    Instead, try to find a recent sleep interval that is somewhere
    between the median and the mode sleep time, by discarding outliers
    to the up side and recalculating the average and standard deviation
    until that is no longer required.
    
    This should do something sane with a sleep interval series like:
    
    	200 180 210 10000 30 1000 170 200
    
    The current code would simply discard such a series, while the
    new code will guess a typical sleep interval just shy of 200.
    
    The original patch come from Rik van Riel <riel@redhat.com>.
    Signed-off-by: default avatarRik van Riel <riel@redhat.com>
    Signed-off-by: default avatarYouquan Song <youquan.song@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    c96ca4fb
menu.c 16.3 KB