lkml.org 
[lkml]   [2013]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] sched: wake-affine throttle
From
Date
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



\
 
 \ /
  Last update: 2013-05-28 09:01    [W:1.945 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site