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/