lkml.org 
[lkml]   [2012]   [Jun]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch v3] sched: fix select_idle_sibling() induced bouncing
From
Date
On Mon, 2012-06-11 at 18:57 +0200, Mike Galbraith wrote:

> Traversing an entire package is not only expensive, it also leads to tasks
> bouncing all over a partially idle and possible quite large package. Fix
> that up by assigning a 'buddy' CPU to try to motivate. Each buddy may try
> to motivate that one other CPU, if it's busy, tough, it may then try it's
> SMT sibling, but that's all this optimization is allowed to cost.
>
> Sibling cache buddies are cross-wired to prevent bouncing.
>
> Signed-off-by: Mike Galbraith <efault@gmx.de>

The patch could do with a little comment on how you achieve the
cross-wiring because staring at the code I go cross-eyed again ;-)

Anyway, I think I'll grab it since nobody seems to have any objections
and the numbers seem good.

PJT any progress on your load-tracking stuff? Arjan is interested in the
avg runtime estimation it has to make the whole wake an idle thing
conditional on.


\
 
 \ /
  Last update: 2012-06-11 20:01    [W:0.095 / U:0.684 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site