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