Messages in this thread | | | Subject | Re: change in sched cpu_power causing regressions with SCHED_MC | From | Suresh Siddha <> | Date | Fri, 19 Feb 2010 11:50:29 -0800 |
| |
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?
thanks, suresh
| |