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