Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp382097imu; Thu, 8 Nov 2018 03:36:31 -0800 (PST) X-Google-Smtp-Source: AJdET5fPR3pnH5ub8znT8SpZzI3AhKnxUTsO/eFsHa+UBO6bn4OOmqT+gn79SWld+FSjTPA3Tjxf X-Received: by 2002:a63:2849:: with SMTP id o70mr3419493pgo.155.1541676991390; Thu, 08 Nov 2018 03:36:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541676991; cv=none; d=google.com; s=arc-20160816; b=nafZiZwtOgTdKME4g/IAD2dr8kMQm6egIl1nJskrBuRPCniMXsp0qcG1Wa9QmyrE0d B3gwBJaEqb6XTeEisjhsMCAEQjXlKvxuZRyDOnl5oz4k28Gv2YJilmDnwKaYIeqfJK3p PHGMm1gpHm7r8QtULG9u91CXST2INApdTI93dITWhzt6ZzOv4WDZGSjxznwTBUwM9lhQ 6J0Z7GqqQK+MaZr+Yxni6nOju5kdDtaBic5X51oyjjdv5YEQH9NSlCGODCW7yRoz1sBQ NNIVwcgaecDpo9xTwq3mOuWiue42WzEQvz8lxvncb8CP6pz67rOIF3XaHEj6k5bFRaKu p5rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=bccC3/Do1p51i2rrVK7Fk/hdlFNVvGpFJVbAXFW22Zs=; b=ddcnYTCCZZ6Yxzg+V6+ze5hJh6ucRehk8N+iU2UrFlmB1GJvfpGwr35O5lkTq7/iiR FQ6qlci30Ifyoz+H9moMGcxemeiyNv5T+5OknqrZ9vfzrC9Bu99H8nLd5hdMC3/Z+VKF 1TN6qFFFJ/7vOhHymRZTCtFl2Q4yoiQMt7em3PaF+L22Mzo+jBbVJT1ScLWQIrdrfTF+ Ht/bcLARJtpmMwWysb2n2D1fsigWfufWGECrgiZM8ysZNQ0ypeHuL9dJjagzSjibTxQR 28AjD6vnZvC8Rv+CUk1yidkG8M+TFUFlWn/48O50wDGOK7eW4YWR2CKrdJNIKNkBiDq6 XSSg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p23si3087110pgk.312.2018.11.08.03.36.14; Thu, 08 Nov 2018 03:36:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727254AbeKHVKp (ORCPT + 99 others); Thu, 8 Nov 2018 16:10:45 -0500 Received: from foss.arm.com ([217.140.101.70]:38886 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726145AbeKHVKp (ORCPT ); Thu, 8 Nov 2018 16:10:45 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 679CEA78; Thu, 8 Nov 2018 03:35:41 -0800 (PST) Received: from queper01-lin (queper01-lin.cambridge.arm.com [10.1.195.48]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 538313F5CF; Thu, 8 Nov 2018 03:35:39 -0800 (PST) Date: Thu, 8 Nov 2018 11:35:34 +0000 From: Quentin Perret To: Dietmar Eggemann Cc: Vincent Guittot , Peter Zijlstra , Ingo Molnar , linux-kernel , "Rafael J. Wysocki" , Morten Rasmussen , Patrick Bellasi , Paul Turner , Ben Segall , Thara Gopinath , pkondeti@codeaurora.org Subject: Re: [PATCH v5 2/2] sched/fair: update scale invariance of PELT Message-ID: <20181108113532.vh7q3s3k7vpbevl3@queper01-lin> References: <1540570303-6097-1-git-send-email-vincent.guittot@linaro.org> <1540570303-6097-3-git-send-email-vincent.guittot@linaro.org> <28af1313-8153-624d-1ae9-1554bb2db474@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <28af1313-8153-624d-1ae9-1554bb2db474@arm.com> User-Agent: NeoMutt/20171215 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday 07 Nov 2018 at 11:47:09 (+0100), Dietmar Eggemann wrote: > The important bit for EAS is that it only uses utilization in the > non-overutilized case. Here, utilization signals should look the same > between the two approaches, not considering tasks with long periods like the > 39/80ms example above. > There are also some advantages for EAS with time scaling: (1) faster > overutilization detection when a big task runs on a little CPU, (2) higher > (initial) task utilization value when this task migrates from little to big > CPU. Agreed, these patches should help detecting the over-utilized scenarios faster and more reliably, which is probably a good thing. I'll try to have a look in more details soon. > We should run our EAS task placement tests with your time scaling patches. Right, I tried these patches with the synthetic tests we usually run against our upstream EAS dev branch (see [1]), and I couldn't see any regression, which is good sign :-) Since most people are probably not familiar with these tests, I'll try to elaborate a little bit more. They are unit tests aimed to stress particular behaviours of the scheduler on asymmetric platforms. More precisely, they check that capacity-awareness/misfit and EAS are actually able to up-migrate and down-migrate tasks between big and little CPUs when necessary. The tests are based on rt-app and ftrace. They basically run a whole lot of scenarios with rt-app (small tasks, big tasks, a mix of both, tasks changing behaviour, ramping up, ramping down, ...), pull a trace of the execution and check that: 1. the task(s) did not miss activations (which will basically be true only if the scheduler managed to provide each task with enough CPU capacity). We call that one 'test_slack'; 2. the task placement is close enough to the optimal placement energy-wise (which is computed off-line using the energy model and the rt-app conf). We call that one 'test_task_placement'. For example, in order to pass the test, a periodic task that ramps up from 10% to 70% over (say) 5s should probably start its execution on little CPUs to not waste energy, and get up-migrated to big CPUs later on to not miss activations. Otherwise one of the two checks will fail. I'd like to emphasize that these test scenarios are *not* supposed to look like real workloads at all. They've be design with the sole purpose of stressing specific code paths of the scheduler to spot any obvious breakage. They've proven quite useful for us in the past. All the tests are publicly available in the LISA repo [2]. So, to come back to Vincent's patches, I managed to get 10/10 pass rate to most of the tests referred to as 'generic' in [1] on my Juno r0. The kernel I tested had Morten's misfit patches, the EAS patches v8, and Vincent's patches on top. Although I still need to really get my head around all the implications of changing PELT like that, I cannot see any obvious red flags from the testing perspective here. Thanks, Quentin --- [1] https://developer.arm.com/open-source/energy-aware-scheduling/eas-mainline-development [2] https://github.com/ARM-software/lisa