Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751684AbbKYJYN (ORCPT ); Wed, 25 Nov 2015 04:24:13 -0500 Received: from bombadil.infradead.org ([198.137.202.9]:33605 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751060AbbKYJYJ (ORCPT ); Wed, 25 Nov 2015 04:24:09 -0500 Date: Wed, 25 Nov 2015 10:24:01 +0100 From: Peter Zijlstra To: Vincent Guittot Cc: mingo@kernel.org, linux-kernel@vger.kernel.org, yuyang.du@intel.com, Morten.Rasmussen@arm.com, linaro-kernel@lists.linaro.org, dietmar.eggemann@arm.com, pjt@google.com, bsegall@google.com Subject: Re: [PATCH] sched/fair: update scale invariance of pelt Message-ID: <20151125092401.GY17308@twins.programming.kicks-ass.net> References: <1448372970-8764-1-git-send-email-vincent.guittot@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1448372970-8764-1-git-send-email-vincent.guittot@linaro.org> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1436 Lines: 31 On Tue, Nov 24, 2015 at 02:49:30PM +0100, Vincent Guittot wrote: > Instead of scaling the complete value of PELT algo, we should only scale > the running time by the current capacity of the CPU. It seems more correct > to only scale the running time because the non running time of a task > (sleeping or waiting for a runqueue) is the same whatever the current freq > and the compute capacity of the CPU. So I'm leaning towards liking this; however with your previous example of 3 cpus and 7 tasks, where CPU0-1 are 'little' and of half the capacity as the 'big' CPU2, with 2 tasks on CPU0-1 each and 3 tasks on CPU2. This would result, for CPU0, in a load of 100% wait time + 100% runtime, scaling the runtime 50% will get you a total load of 150%. For CPU2 we get 100% runtime and 200% wait time, no scaling, for a total load of 300%. So the CPU0-1 cluster has a 300% load and the CPU2 'cluster' has a 300% load, even though the actual load is not actually equal, CPUs0-1 combined have the same capacity as CPU2, so it should be 4-4 tasks for an equal balance. So I'm not sure the claim of comparable between CPUs stands. Still it is an interesting idea and I will consider it more. -- 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/