Messages in this thread | | | Date | Mon, 21 Aug 2017 15:56:45 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v8 1/2] sched/deadline: Add support for SD_PREFER_SIBLING on find_later_rq() |
| |
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 :-/
| |