On Tue, 2013-05-28 at 15:22 +0800, Michael Wang wrote: > On 05/28/2013 02:29 PM, Mike Galbraith wrote: > > 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. > > That's right, I'm trying to rely on the frequency of a task switching > it's wakee in the new idea, it's really cheap and somewhat reliable, I > appreciate if you could pay an eye on the new patch and let me know you > opinion :)
I'll feed it to my 40 core box, hopefully soon. -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/