Re: [PATCH v2] sched: wake-affine throttle

From: Mike Galbraith
Date: Tue May 28 2013 - 02:29:52 EST


On Tue, 2013-05-28 at 13:02 +0800, Michael Wang wrote:
> On 05/22/2013 10:55 PM, Mike Galbraith wrote:
> > On Wed, 2013-05-22 at 17:25 +0800, Michael Wang wrote:
> >
> >> I've not test the hackbench with wakeup-buddy before, will do it this
> >> time, I suppose the 15% illegal income will suffered, anyway, it's
> >> illegal :)
> >
> > On a 4 socket 40 core (+SMT) box, hackbench wasn't too happy.
>
> I've done more test and now I got the reason of regression...
>
> The writer and reader in hackbench is N:N, prev writer will write all
> the fd then switch to next writer and repeat the same work, so it's
> impossible to setup the buddy relationship by just record the last one,
> and we have to record all the waker/wakee in history, but that means
> unacceptable memory overhead...

Yeah, that's why I was thinking we'd need a dinky/fast as hell FIFO of
tokens or such to bind waker/wakee more or less reliably. Making such a
scheme cheap enough could be hard.

> So this buddy idea seems to be bad...
>
> I think a better way may should be allowing pull in most time, but
> filter the very bad cases carefully.

Any way that is cheap, and fairly accurately recognizes when we're being
stupid will help. First and foremost, it has to be dirt cheap :)

> For workload like pgbench, we actually just need to avoid pull if that
> will damage the 'mother' thread, which is busy and be relied by many
> 'child'.

Yeah, 'mom' is the key player. If we can cheaply recognize mom, that
should get us a generic improvement. Not as good as being able to
recognize the size of her+brood as size changes, but better anyway.

-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/