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

From: Peter Zijlstra
Date: Mon Aug 21 2017 - 09:57:02 EST


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.

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