Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp9855imm; Thu, 30 Aug 2018 05:52:25 -0700 (PDT) X-Google-Smtp-Source: ANB0VdbhOCDiWwOiLeFb5xPjq2QE7s2p5VtxM5nD2j7Z6HRngTbwoWO6D1Tra0tq8bcem30mIim/ X-Received: by 2002:a17:902:9b92:: with SMTP id y18-v6mr10084349plp.239.1535633545305; Thu, 30 Aug 2018 05:52:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535633545; cv=none; d=google.com; s=arc-20160816; b=SaJc/nhSdEreLMgLd1zIOoyoF1ArqMzZjQxwm03CV5ox65cVa7nEdHtHMI+bIMSTJi mrfz2q+O2cek27mUEfi2tMSZdHefZmmNqsbaWUIqaNPYyoqvM2S2BKJ4bssb+/6XWVtf uPUwf07bIixPjW5ZYKrFSPaAeubz5Q83pB36pVYIvwmS7Cb9GKFc+ohAgHY9h7BfRK0K uq4LWnfNfK4vTzCCH2r1EU6WPVnIX8oocwVrh8BXyPg5a78wkZId2K0J9RkVyx0kx+j/ eUbuX4kDkGsml5EZJixWoREb3lqgUufS3IFiRuQ643w2r0rjNJLOprtI5rXrs50lhs2d Pk3Q== 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:arc-authentication-results; bh=N25KWtk3ldDZmDSQHF6uSRh0N8IPpB+fCEaLrFNguCM=; b=1IkGdjyURpjYKZ7SeGQJ6V/aV2AjPN5oGX5kvKkTsG0VsCxHtu/W7/8gbdV23Qa583 Ij6mP0Tigsz8TTlslZKu6iO5Sip5GzSXO1NZQd51WuM2fAwXH8m4IFcbOJwL/b64+SO8 A1bRAtOJ60FtFAYSQFy9P5l9DW1vuJWCHGsd5LrXewBgwL3XPjwWawSJ8MOT9/tjxSAh V84ccbwhcnMvwT5BlNCRLBiPyXDPritAmS+O2Kmr0+g0OYD90U2z1xaKq7Ewgzu26Ttt poO+cNHbnGNgfY9bo0Vywq95tm8l9IS1mFElg87N/goMDjJ8UIuFvk0LSM/qjlawxz1s D7PA== 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 f8-v6si6433011plb.381.2018.08.30.05.51.59; Thu, 30 Aug 2018 05:52:25 -0700 (PDT) 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 S1728914AbeH3Qwi (ORCPT + 99 others); Thu, 30 Aug 2018 12:52:38 -0400 Received: from foss.arm.com ([217.140.101.70]:41336 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728713AbeH3Qwh (ORCPT ); Thu, 30 Aug 2018 12:52:37 -0400 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 AD47C7A9; Thu, 30 Aug 2018 05:50:37 -0700 (PDT) Received: from e110439-lin (e110439-lin.Emea.Arm.com [10.4.12.126]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B80023F557; Thu, 30 Aug 2018 05:50:33 -0700 (PDT) Date: Thu, 30 Aug 2018 13:50:31 +0100 From: Patrick Bellasi To: Quentin Perret Cc: peterz@infradead.org, rjw@rjwysocki.net, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, gregkh@linuxfoundation.org, mingo@redhat.com, dietmar.eggemann@arm.com, morten.rasmussen@arm.com, chris.redpath@arm.com, valentin.schneider@arm.com, vincent.guittot@linaro.org, thara.gopinath@linaro.org, viresh.kumar@linaro.org, tkjos@google.com, joel@joelfernandes.org, smuckle@google.com, adharmap@codeaurora.org, skannan@codeaurora.org, pkondeti@codeaurora.org, juri.lelli@redhat.com, edubezval@gmail.com, srinivas.pandruvada@linux.intel.com, currojerez@riseup.net, javi.merino@kernel.org Subject: Re: [PATCH v6 05/14] sched/topology: Reference the Energy Model of CPUs when available Message-ID: <20180830125031.GV2960@e110439-lin> References: <20180820094420.26590-1-quentin.perret@arm.com> <20180820094420.26590-6-quentin.perret@arm.com> <20180829162238.GQ2960@e110439-lin> <20180829165603.astg32z3ep2qldfu@queper01-lin> <20180830100019.GT2960@e110439-lin> <20180830104718.lvkkhyi3dtwkfjr7@queper01-lin> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180830104718.lvkkhyi3dtwkfjr7@queper01-lin> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 30-Aug 11:47, Quentin Perret wrote: > On Thursday 30 Aug 2018 at 11:00:20 (+0100), Patrick Bellasi wrote: > > Dunno... but, in any case, probably we don't care about using EAS until > > the boot complete, isn't it? > > So, as of now, EAS will typically start soon after CPUFreq. I don't see a > point in starting before, and I'm not sure if starting it later is > really what we want either ... It probably makes sense to start the > DVFS-related features (CPUFreq, EAS, ...) together. > > > Just to better understand, what is the most common activation path we expect ? > > > > 1. system boot > > 2. CPUs online > > 3. CPUFreq initialization > > 4. EM registered > > X. ??? > > X is sort of arch dependent (like the EM registration actually). For > arm/arm64, the arch topology driver (see drivers/base/arch_topology.c) > will rebuild the sched_domains once the capacities of CPU are > discovered. In previous versions, I had a patch that did that explicitly: > > https://lore.kernel.org/lkml/20180724122521.22109-14-quentin.perret@arm.com/ > > However, I dropped this patch for v6 because I rebased the series on top > of Morten's automatic flag detection patches, which happen to already do > that for me. More precisely, Morten's patches will rebuild the sched > domains if the SD_ASYM_CPUCAPACITY flag needs to be set somewhere in the > hierarchy. EAS depends on this flag anyway, so I guess it's fine to rely > on this rebuild to start EAS at the same time. > > I have been wondering for a while if such a 'loose' way of starting EAS > was alright or not. My conclusion was that it should be OK for now, > because that should suit all the users I can see in the short/medium > term. An alternative could be to introduce something like a notifier in > the EM framework in order to let other subsystems know that the EM is > complete or something along those lines. And then we could register a > callback on this notifier to rebuild the sched_domains. But that's added > complexity, which isn't really needed (yet). If that needs to be done to > accomodate the needs of new users/archs, we can still implement that > later :-) > > > N. partition_sched_domains > > build_perf_domains > > > > IOW, who do we expect to call build_perf_domains for the first time ? > > On arm/arm64, when the arch_topology driver calls rebuild_sched_domains. Great, I missed that point, which you actually call out in the cover letter. Thanks also for the more comprehensive explanation above! > Thanks ! > Quentin Cheers Patrick -- #include Patrick Bellasi