• T
    cpuidle: Fix variable domains in get_typical_interval() · 0e96d5ad
    Tuukka Tikkanen 提交于
    The menu governor uses a static function get_typical_interval() to
    try to detect a repeating pattern of wakeups. The previous interval
    durations are stored as an array of unsigned ints, but the arithmetic
    in the function is performed exclusively as 64 bit values, even when
    the value stored in a variable is known not to exceed unsigned int,
    which may be smaller and more efficient on some platforms.
    
    This patch changes the types of varibles used to store some
    intermediates, the maximum and and the cutoff threshold to unsigned
    ints. Average and standard deviation are still treated as 64 bit values,
    even when the values are known to be within the domain of unsigned int,
    to avoid casts to ensure correct integer promotion for arithmetic
    operations.
    Signed-off-by: NTuukka Tikkanen <tuukka.tikkanen@linaro.org>
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    0e96d5ad
menu.c 13.5 KB