Re: [PATCH 2/4] sched/deadline: Improve admission control for asymmetric CPU capacities

From: Juri Lelli
Date: Fri Apr 17 2020 - 11:47:48 EST


On 17/04/20 17:08, Juri Lelli wrote:
> On 17/04/20 16:55, Dietmar Eggemann wrote:
> > On 17.04.20 14:19, Juri Lelli wrote:
> > > On 09/04/20 19:29, Dietmar Eggemann wrote:
> >
> > [...]
> >
> > >> Maybe we can do a hybrid. We have rd->span and rd->sum_cpu_capacity and
> > >> with the help of an extra per-cpu cpumask we could just
> > >
> > > Hummm, I like the idea, but
> > >
> > >> DEFINE_PER_CPU(cpumask_var_t, dl_bw_mask);
> > >>
> > >> dl_bw_cpus(int i) {
> > >
> > > This works if calls are always local to the rd we are interested into
> > > (argument 'i' isn't used). Are we always doing that?
> >
> > I thought so. The existing dl_bw_cpus(int i) implementation already
> > assumes this by using:
> >
> > struct root_domain *rd = cpu_rq(i)->rd;
>
> Hummm, can't dl_task_can_attach() call it with a dest_cpu different from
> this_cpu?
>
> Current implementation uses 'i' argument to get to the right root_domain
> (e.g., when moving tasks between execlusive set).
>
> > ...

Bah, forget that. If everything else stays the same (get rd using 'i')
this should work ok.