Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757255AbZCOS5q (ORCPT ); Sun, 15 Mar 2009 14:57:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752759AbZCOS5g (ORCPT ); Sun, 15 Mar 2009 14:57:36 -0400 Received: from mx3.mail.elte.hu ([157.181.1.138]:59700 "EHLO mx3.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750765AbZCOS5f (ORCPT ); Sun, 15 Mar 2009 14:57:35 -0400 Date: Sun, 15 Mar 2009 19:57:19 +0100 From: Ingo Molnar To: Mike Galbraith Cc: Balazs Scheidler , Peter Zijlstra , linux-kernel@vger.kernel.org, Willy Tarreau Subject: Re: [patch] Re: scheduler oddity [bug?] Message-ID: <20090315185719.GD19737@elte.hu> References: <1236605870.6515.5.camel@marge.simson.net> <1236606389.8389.518.camel@laptop> <1236607083.5980.8.camel@marge.simson.net> <1236607890.6168.7.camel@marge.simson.net> <1236609711.8389.583.camel@laptop> <1236612649.6019.38.camel@marge.simson.net> <1236615158.8389.705.camel@laptop> <1236619694.5998.9.camel@marge.simson.net> <1237125227.6919.1.camel@bzorp.balabit> <1237137414.5980.2.camel@marge.simson.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1237137414.5980.2.camel@marge.simson.net> User-Agent: Mutt/1.5.18 (2008-05-17) X-ELTE-VirusStatus: clean X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.2.3 -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2165 Lines: 52 * Mike Galbraith wrote: > On Sun, 2009-03-15 at 14:53 +0100, Balazs Scheidler wrote: > > On Mon, 2009-03-09 at 18:28 +0100, Mike Galbraith wrote: > > > On Mon, 2009-03-09 at 17:12 +0100, Peter Zijlstra wrote: > > > > On Mon, 2009-03-09 at 16:30 +0100, Mike Galbraith wrote: > > > > > +static void put_prev_task(struct rq *rq, struct task_struct *prev) > > > > > +{ > > > > > + if (prev->state == TASK_RUNNING) { > > > > > + u64 runtime = prev->se.sum_exec_runtime; > > > > > + > > > > > + runtime -= prev->se.prev_sum_exec_runtime; > > > > > + runtime = min_t(u64, runtime, 2*sysctl_sched_migration_cost); > > > > > + > > > > > + /* > > > > > + * In order to avoid avg_overlap growing stale when we are > > > > > + * indeed overlapping and hence not getting put to sleep, grow > > > > > + * the avg_overlap on preemption. > > > > > + */ > > > > > + update_avg(&prev->se.avg_overlap, runtime); > > > > > + } > > > > > + prev->sched_class->put_prev_task(rq, prev); > > > > > +} > > > > > > > > Right, so we both found it worked quite well, I'm still slightly puzzled > > > > but it. > > > > > > > > If something gets preempted a lot and will therefore have short runtimes > > > > it will be seen as sync even though it might not at all be. > > > > > > Yes, and the netperf on 2 CPUs with shared cache numbers show that's > > > happening. It just so happens that in the non-shared case, netperf's > > > cache pain far outweighs the benefit of having more CPU available :-/ > > > > Any news on this? I haven't seen a patch that was actually integrated, > > or I just missed something? > > It's in tip, as df1c99d416500da8d26a4d78777467c53ee7689e. testable via: http://people.redhat.com/mingo/tip.git/README Balazs, could you please try it? Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/