• Javi Merino's avatar
    thermal: fair_share: generalize the weight concept · bcdcbbc7
    Javi Merino authored
    The fair share governor has the concept of weights, which is the
    influence of each cooling device in a thermal zone.  The current
    implementation forces the weights of all cooling devices in a thermal
    zone to add up to a 100.  This complicates setups, as you need to know
    in advance how many cooling devices you are going to have.  If you bind a
    new cooling device, you have to modify all the other cooling devices
    weights, which is error prone.  Furthermore, you can't specify a
    "default" weight for platforms since that default value depends on the
    number of cooling devices in the platform.
    
    This patch generalizes the concept of weight by allowing any number to
    be a "weight".  Weights are now relative to each other.  Platforms that
    don't specify weights get the same default value for all their cooling
    devices, so all their cdevs are considered to be equally influential.
    
    It's important to note that previous users of the weights don't need to
    alter the code: percentages continue to work as they used to.  This
    patch just removes the constraint of all the weights in a thermal zone
    having to add up to a 100.  If they do, you get the same behavior as
    before.  If they don't, fair share now works for that platform.
    
    Cc: Zhang Rui <rui.zhang@intel.com>
    Cc: Eduardo Valentin <edubezval@gmail.com>
    Cc: Durgadoss R <durgadoss.r@intel.com>
    Acked-by: default avatarDurgadoss R <durgadoss.r@intel.com>
    Signed-off-by: default avatarJavi Merino <javi.merino@arm.com>
    Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
    bcdcbbc7
fair_share.c 3.98 KB