lkml.org 
[lkml]   [2009]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch -rt 11/17] Provide an arch specific hook for cpufreq based scaling of cpu_power.
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: Dinakar Guniguntala <dino@in.ibm.com>
    ---
    kernel/sched.c | 21 +++++++++++++++++++--
    1 file changed, 19 insertions(+), 2 deletions(-)

    Index: linux-2.6.31.4-rt14-lb1/kernel/sched.c
    ===================================================================
    --- linux-2.6.31.4-rt14-lb1.orig/kernel/sched.c 2009-10-21 10:47:15.000000000 -0400
    +++ linux-2.6.31.4-rt14-lb1/kernel/sched.c 2009-10-21 10:48:58.000000000 -0400
    @@ -3793,7 +3793,18 @@
    }
    #endif /* CONFIG_SCHED_MC || CONFIG_SCHED_SMT */

    -unsigned long __weak arch_scale_smt_power(struct sched_domain *sd, int cpu)
    +
    +unsigned long default_scale_freq_power(struct sched_domain *sd, int cpu)
    +{
    + return SCHED_LOAD_SCALE;
    +}
    +
    +unsigned long __weak arch_scale_freq_power(struct sched_domain *sd, int cpu)
    +{
    + return default_scale_freq_power(sd, cpu);
    +}
    +
    +unsigned long default_scale_smt_power(struct sched_domain *sd, int cpu)
    {
    unsigned long weight = cpumask_weight(sched_domain_span(sd));
    unsigned long smt_gain = sd->smt_gain;
    @@ -3803,6 +3814,11 @@
    return smt_gain;
    }

    +unsigned long __weak arch_scale_smt_power(struct sched_domain *sd, int cpu)
    +{
    + return default_scale_smt_power(sd, cpu);
    +}
    +
    unsigned long scale_rt_power(int cpu)
    {
    struct rq *rq = cpu_rq(cpu);
    @@ -3827,7 +3843,8 @@
    unsigned long power = SCHED_LOAD_SCALE;
    struct sched_group *sdg = sd->groups;

    - /* here we could scale based on cpufreq */
    + power *= arch_scale_freq_power(sd, cpu);
    + power >> SCHED_LOAD_SHIFT;

    if ((sd->flags & SD_SHARE_CPUPOWER) && weight > 1) {
    power *= arch_scale_smt_power(sd, cpu);
    --


    \
     
     \ /
      Last update: 2009-10-22 15:15    [W:0.022 / U:149.800 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site