lkml.org 
[lkml]   [2014]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 06/12] sched: add per rq cpu_capacity_orig
    Date
    This new field cpu_capacity_orig reflects the available capacity of a CPUs
    unlike the cpu_capacity which reflects the current capacity that can be altered
    by frequency and rt tasks.

    Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
    ---
    kernel/sched/core.c | 2 +-
    kernel/sched/fair.c | 1 +
    kernel/sched/sched.h | 1 +
    3 files changed, 3 insertions(+), 1 deletion(-)

    diff --git a/kernel/sched/core.c b/kernel/sched/core.c
    index a394f99..7c3b237 100644
    --- a/kernel/sched/core.c
    +++ b/kernel/sched/core.c
    @@ -7003,7 +7003,7 @@ void __init sched_init(void)
    #ifdef CONFIG_SMP
    rq->sd = NULL;
    rq->rd = NULL;
    - rq->cpu_capacity = SCHED_CAPACITY_SCALE;
    + rq->cpu_capacity = rq->cpu_capacity_orig = SCHED_CAPACITY_SCALE;
    rq->post_schedule = 0;
    rq->active_balance = 0;
    rq->next_balance = jiffies;
    diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
    index 8176bda..17c16cc 100644
    --- a/kernel/sched/fair.c
    +++ b/kernel/sched/fair.c
    @@ -5756,6 +5756,7 @@ static void update_cpu_capacity(struct sched_domain *sd, int cpu)

    capacity >>= SCHED_CAPACITY_SHIFT;

    + cpu_rq(cpu)->cpu_capacity_orig = capacity;
    sdg->sgc->capacity_orig = capacity;

    if (sched_feat(ARCH_CAPACITY))
    diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
    index aa0f73b..7c0a74e 100644
    --- a/kernel/sched/sched.h
    +++ b/kernel/sched/sched.h
    @@ -575,6 +575,7 @@ struct rq {
    struct sched_domain *sd;

    unsigned long cpu_capacity;
    + unsigned long cpu_capacity_orig;

    unsigned char idle_balance;
    /* For active balancing */
    --
    1.9.1


    \
     
     \ /
      Last update: 2014-08-26 13:21    [W:4.122 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site