Re: Scheduling tasks on idle cpu

From: Qais Yousef
Date: Wed Apr 13 2022 - 19:57:36 EST


On 04/12/22 11:07, Vincent Guittot wrote:
> On Tue, 12 Apr 2022 at 10:39, David Laight <David.Laight@xxxxxxxxxx> wrote:
> > Yes I want the CFS scheduler to pick an idle cpu in preference
> > to an active RT one.
>
> When task 34512 wakes up, scheduler checks if prev or this cpu are
> idle which is not the case for you. Then, it compares the load of prev
> and this_cpu and seems to select this_cpu (cpu17).
>
> Once cpu17 selected, it will try to find an idle cpu which shares LLC
> but it seems that the scheduler didn't find one and finally keeps task
> 34512 on this_cpu.
>
> Note that during the next tick, a load balance will be trigger if
> this_cpu still have both RT and task 34512,

David said there are idle cpus

" There are two physical cpu with 20 cores each (with hyperthreading).
16, 18, 34, 36 and 38 were idle. So both 16 and 18 should be on the
same NUMA node. All the others are running the same RT thread code. "

Except for the possibility of them becoming idle just after the task has woken
up, shouldn't one of them have been picked?

Thanks

--
Qais Yousef