Re: [RFC PATCH 1/6] sched/dl: Improve deadline admission control for asymmetric CPU capacities

From: Vincent Guittot
Date: Tue May 07 2019 - 09:56:45 EST


On Tue, 7 May 2019 at 15:48, Quentin Perret <quentin.perret@xxxxxxx> wrote:
>
> Hi Luca,
>
> On Monday 06 May 2019 at 06:48:31 (+0200), Luca Abeni wrote:
> > diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
> > index edfcf8d982e4..646d6d349d53 100644
> > --- a/drivers/base/arch_topology.c
> > +++ b/drivers/base/arch_topology.c
> > @@ -36,6 +36,7 @@ DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE;
> >
> > void topology_set_cpu_scale(unsigned int cpu, unsigned long capacity)
> > {
> > + topology_update_cpu_capacity(cpu, per_cpu(cpu_scale, cpu), capacity);
>
> Why is that one needed ? Don't you end up re-building the sched domains
> after this anyways ?

I was looking at the same point.
Also this doesn't take into account if the cpu is offline

Do we also need of the line below in set_rq_online
+ rq->rd->rd_capacity += arch_scale_cpu_capacity(NULL,
cpu_of(rq));

building the sched_domain seems a better place to set rq->rd->rd_capacity

>
> > per_cpu(cpu_scale, cpu) = capacity;
> > }
>
> Thanks,
> Quentin