Re: [PATCH v8 1/2] sched/deadline: Add support for SD_PREFER_SIBLING on find_later_rq()

From: Juri Lelli
Date: Mon Aug 21 2017 - 10:08:11 EST


On 21/08/17 15:56, Peter Zijlstra wrote:
> On Mon, Aug 21, 2017 at 02:44:58PM +0100, Juri Lelli wrote:
>
> > Also, I'm not sure what Peter meant with
> >
> > "But still this isn't quite right, because when we consider this for SMT
> > (as was the intent here) we'll happily occupy a full sibling core over
> > finding an empty one."
>
> Consider a 4 core, SMT2 system:
>
> LLC [0 - 7]
>
> SMT [0,1] [2,3] [4,5] [6,7]
>
> If we do a wake-up on CPU0, we'll find CPU1, mark that as fallback,
> continue up the domain tree, exclude 0,1 from 0-7 and find CPU2.
>
> A next wakeup on CPU0 does the same and will find CPU3, fully loading
> that core, instead of considering CPU4 first.
>

Ah, right, I see. Thanks for explaining.

Byungchul, maybe you could add this explanation as a comment?

> Doing this 'right' is difficult and expensive :-/
>