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 :-/

Reply via email to