From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759021Ab3E1HWn (ORCPT ); Tue, 28 May 2013 03:22:43 -0400 Received: from e28smtp06.in.ibm.com ([122.248.162.6]:54845 "EHLO e28smtp06.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758351Ab3E1HWl (ORCPT ); Tue, 28 May 2013 03:22:41 -0400 Message-ID: <51A45B23.4050403@linux.vnet.ibm.com> Date: Tue, 28 May 2013 15:22:11 +0800 From: Michael Wang User-Agent: Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20121011 Thunderbird/16.0.1 MIME-Version: 1.0 To: Mike Galbraith CC: Peter Zijlstra , LKML , Ingo Molnar , Alex Shi , Namhyung Kim , Paul Turner , Andrew Morton , "Nikunj A. Dadhania" , Ram Pai Subject: Re: [PATCH v2] sched: wake-affine throttle References: <5164DCE7.8080906@linux.vnet.ibm.com> <519AE7F2.706@linux.vnet.ibm.com> <20130522084947.GQ26912@twins.programming.kicks-ass.net> <519C8F24.5060207@linux.vnet.ibm.com> <1369234551.5916.40.camel@marge.simpson.net> <51A43A63.4090703@linux.vnet.ibm.com> <1369722552.5857.72.camel@marge.simpson.net> In-Reply-To: <1369722552.5857.72.camel@marge.simpson.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-MML: No X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13052807-9574-0000-0000-0000080BA288 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 :) Regards, Michael Wang > > -Mike >