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.025 / U:29.784 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site