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

From: luca abeni
Date: Tue May 07 2019 - 10:26:59 EST


On Tue, 7 May 2019 14:48:52 +0100
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 ?

If I remember correctly, this function was called at boot time when the
capacities are assigned to the CPU cores.

I do not remember if the sched domain was re-built after this call, but
I admit I do not know this part of the kernel very well...

This achieved the effect of correctly setting up the "rd_capacity"
field, but I do not know if there is a better/simpler way to achieve
the same result :)



Thanks,
Luca



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