lkml.org 
[lkml]   [2015]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFCv4 PATCH 32/34] sched: Consider a not over-utilized energy-aware system as balanced
    Date
    From: Dietmar Eggemann <dietmar.eggemann@arm.com>

    In case the system operates below the tipping point indicator,
    introduced in ("sched: Add over-utilization/tipping point
    indicator"), bail out in find_busiest_group after the dst and src
    group statistics have been checked.

    There is simply no need to move usage around because all involved
    cpus still have spare cycles available.

    For an energy-aware system below its tipping point, we rely on the
    task placement of the wakeup path. This works well for short running
    tasks.

    The existence of long running tasks on one of the involved cpus lets
    the system operate over its tipping point. To be able to move such
    a task (whose load can't be used to average the load among the cpus)
    from a src cpu with lower capacity than the dst_cpu, an additional
    rule has to be implemented in need_active_balance.

    Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
    ---
    kernel/sched/fair.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
    index fe41e1e..83218e0 100644
    --- a/kernel/sched/fair.c
    +++ b/kernel/sched/fair.c
    @@ -7340,6 +7340,10 @@ static struct sched_group *find_busiest_group(struct lb_env *env)
    * this level.
    */
    update_sd_lb_stats(env, &sds);
    +
    + if (energy_aware() && !env->dst_rq->rd->overutilized)
    + goto out_balanced;
    +
    local = &sds.local_stat;
    busiest = &sds.busiest_stat;

    --
    1.9.1


    \
     
     \ /
      Last update: 2015-05-12 22:21    [W:3.370 / U:0.276 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site