On Thu, 2013-05-02 at 13:48 +0800, Michael Wang wrote: 
> On 04/22/2013 06:23 PM, Peter Zijlstra wrote:
> > 
> > OK,.. Ingo said that pipe-test was the original motivation for
> > wake_affine() and since that's currently broken to pieces due to
> > select_idle_sibling() is there still a benefit to having it at all?
> > 
> > Can anybody find any significant regression when simply killing
> > wake_affine()?
> 
> I got the proof that we could not simply killing the stuff (finally...).
> 
> It's the hackbench with a high pipe number, still on 12 cpu box, the
> result of "./hackbench 48 process 10000" is:
> 
>       Running with 48*40 (== 1920) tasks.
>       Time: 33.372
> 
> After killed the wake-affine, the result is:
> 
>       Running with 48*40 (== 1920) tasks.
>       Time: 38.205
> 
> About 14.48% performance dropped without wake-affine, I guess it was
> caused by the missing spread behaviour.
> 
> I've done the test for several times, also compared with the throttle
> approach, default 1ms interval still works very well, the regression on
> hackbench start to exceed 2% when interval become 100ms on my box, but
> please note the pgbench already gain a lot benefit at that time.
> 
> I think now we could say that wake-affine is useful, and we could not
> simply kill it.

Oh, it's definitely useful.  Communicating tasks deeply resent talking
over interconnects (advanced tin cans and string).  My little Q6600 box
can even be described as dinky-numa given enough imagination.. place
communicating tasks on different core2 "nodes" if you will, throughput
falls through the floor.  Shared L2 is quick like bunny, dram ain't.

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to