On Tue, 26 Aug 2014, Vincent Guittot wrote: > This new field cpu_capacity_orig reflects the available capacity of a CPUs
s/a CPUs/a CPU/ > unlike the cpu_capacity which reflects the current capacity that can be > altered > by frequency and rt tasks. Shouldn't this be described as the "highest possible capacity" instead of only "available capacity" to make it clearer? In which case, shouldn't it be called capacity_max instead of capacity_orig? With "orig" we may think "origin" as the capacity that was available at boot time or the like. If for example the CPU was booted with a low P-state then its max capacity is different from the original one. > > Signed-off-by: Vincent Guittot <vincent.guit...@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 > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/