lkml.org 
[lkml]   [2010]   [Feb]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: change in sched cpu_power causing regressions with SCHED_MC
From
Date
On Fri, 2010-02-19 at 11:50 -0800, Suresh Siddha wrote:
> On Fri, 2010-02-19 at 11:47 -0800, Peter Zijlstra wrote:
> > On Fri, 2010-02-19 at 10:36 -0800, Suresh Siddha wrote:
> > > exec/fork balance is not broken. i.e., during exec/fork we balance the
> > > load equally among sockets/cores etc. What is broken is:
> > >
> > > a) In SMT case, once we end up in a situation where both the threads of
> > > the core are busy , with another core completely idle, load balance is
> > > not moving one of the threads to the idle core. This unbalanced
> > > situation can happen because of a previous wake-up decision and/or
> > > threads on other core went to sleep/died etc. Once we end up in this
> > > unbalanced situation, we continue in that state with out fixing it.
> > >
> > > b) Similar to "a", this is MC case where we end up four cores busy in
> > > one socket with other 4 cores in another socket completely idle. And
> > > this is the situation which we are trying to solve in this patch.
> > >
> > > In your above example, we test mostly fork/exec balance but not the
> > > above sleep/wakeup scenarios.
> >
> > Ah, indeed. Let me extend my script to cover that.
> >
> > The below script does indeed show a change, but the result still isn't
> > perfect, when I do ./show-loop 8, it starts 8 loops nicely spread over 2
> > sockets, the difference is that all 4 remaining would stay on socket 0,
> > the patched kernel gets 1 over to socket 1.
>
> Peter, Have you applied both my smt patch and mc patch?

Yes, find_busiest_queue() has the wl fixup in (as per tip/master).



\
 
 \ /
  Last update: 2010-02-19 21:05    [from the cache]
©2003-2011 Jasper Spaans