Re: [PATCH] sched: wake-affine throttle

From: Mike Galbraith
Date: Thu May 02 2013 - 03:11:01 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/