Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp2214819pxb; Wed, 30 Mar 2022 19:34:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxtFf9U13I9zrIhKIuRfBXw5z8NB7clEQHcmahpSDGQ9wdLvsEeN6U7+mtAEgcbr6rU9Yod X-Received: by 2002:a17:902:7802:b0:150:baa:bc1a with SMTP id p2-20020a170902780200b001500baabc1amr39072354pll.110.1648694093405; Wed, 30 Mar 2022 19:34:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648694093; cv=none; d=google.com; s=arc-20160816; b=qWM/scQ2iU61Aw190fX4+QQpICLvk0oYbT4XE6Vez3VLvh2fffmqPJm253ohCkiJA0 yUe3cCfAYlZYxT/O/Wcz2hBvgrKEDYJsptG8ndpVmypHGsBBtX095hOGb8tpbxjkn1vS GZF28KzQ187li16/KLsOCEYedWwnBj9E7kxWpZSikO81RYJWtmXo8yRZvxSSKhy4hZz9 cLzd+Pdlfg8g5JwLAnuxJmCUhNiqaMOR6CJo84x4Lj/PSYPghXHUyItJW28V7r9E9Tmv mBLJZyVNie1Y+nb9ZkRzkhW2kx83m9x+EzAHbBR3dpHuV7AbmZjV9DWsKKfjkpVJ4dsS xpxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=9+x7BFQIWBPsZ+KnMeHkxc18QGXf63Fw6AiHZLoSE10=; b=Zsm88QCjdMk1lAnG4Lzf9wLFkqqfYat/usHiBRTyc7PpGyYpTrhv2tRJHN7J42UH6L usTOGNnP9aPTVx/d9yoqPQrdy2r3ldGyPdt4HtjNco3PAy6ljaZnLPcM4YJEdHFuzTD0 jQNziqAydwrRLTPQD9syuedvJhZcJzYJMTjprbCgZWyp4vI9/+P2JMBT4UTokAQHBgql tgmTNPDQWY4mHPihWsPigjVCZkKru7Aac/yqOoADMD2NDSfS3fO2PMu7/Px8e0sUlzkp TcA/H5twe8LviWflMY2cBaEAh6xIdZMA/nQhfhf55FsoGDeps/2BoJ7cu3s/YhocOQ8o 9XsA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id k1-20020a056a00134100b004fadcf7988fsi24540824pfu.41.2022.03.30.19.34.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Mar 2022 19:34:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 396DA81188; Wed, 30 Mar 2022 19:30:26 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237418AbiC2Nlh (ORCPT + 99 others); Tue, 29 Mar 2022 09:41:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34238 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237412AbiC2Nlg (ORCPT ); Tue, 29 Mar 2022 09:41:36 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BF8BD1FA54; Tue, 29 Mar 2022 06:39:53 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7055D23A; Tue, 29 Mar 2022 06:39:53 -0700 (PDT) Received: from [10.57.7.161] (unknown [10.57.7.161]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8AC333F73B; Tue, 29 Mar 2022 06:39:50 -0700 (PDT) Message-ID: <85f6a95e-24c3-0119-d43f-e57a3996280d@arm.com> Date: Tue, 29 Mar 2022 14:39:48 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [0/8] Introduce support for artificial Energy Model Content-Language: en-US To: Cristian Marussi Cc: linux-kernel@vger.kernel.org, dietmar.eggemann@arm.com, Pierre.Gondois@arm.com, ionela.voinescu@arm.com, viresh.kumar@linaro.org, rafael@kernel.org, daniel.lezcano@linaro.org, linux-pm@vger.kernel.org, mka@chromium.org, nm@ti.com, sboyd@kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, sudeep.holla@arm.com, matthias.bgg@gmail.com References: <20220316235211.29370-1-lukasz.luba@arm.com> From: Lukasz Luba In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A, RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Cristian, On 3/29/22 14:29, Cristian Marussi wrote: > On Wed, Mar 16, 2022 at 11:52:03PM +0000, Lukasz Luba wrote: >> Hi all, >> > > Hi Lukasz, > >> This patch set adds new callback and support for artificial Energy Model (EM). >> The new EMs have artificially generated performance states. >> Such EMs can be created from lean information sources, such >> as the relative energy efficiency between CPUs. The ACPI based >> platforms provide this information >> (ACPI 6.4, s5.2.12.14 'GIC CPU Interface (GICC) Structure' >> 'Processor Power efficiency Class' field). >> >> Artificial EMs might require to directly provide the 'cost' of >> the generated performance state. This patch set adds a new callback >> .get_cost() for this. The EM framework does not force any model >> or formula, it's up to the platform code. >> >> Artificial EMs aim to leverage the Energy Aware Scheduler >> (EAS). Other frameworks relying on performance states >> information (i.e. IPA/DTPM) must be informed of the >> EM type and might be prevented from using it. This patch >> sets also does this by introducing a new flag: >> EM_PERF_DOMAIN_ARTIFICIAL. >> >> The patch set is based on current linux-next, where some >> changes to OPP & EM are queuing. >> >> The patch set also contains (patch 7/8 and patch 8/8) logic which prevents >> two EM's client frameworks from using this new EM type. Some other approach, >> using 'milli-watts', has been proposed and discussed, but refused [1]. >> This new flag is more precised and should not leave space for >> wrong interpretation. >> >> Shortly after this patch set you will see a patch set implementing the >> platform code and registering this new EM. >> > > Just to let you know that in the few days I'm going to post the first > chunk of some SCMIv3.1 additions that includes also (as you probably > know) the SCMI Perf protocol support for reporting perf_domain costs in > micro-watts and not only in milli-watts. > > Given that it does not seem that as of now the em_ API used by the SCMI > cpufreq driver can make use of this new scale (and being not at all > familiar with EM/EAS for sure :P), the SCMIv3.1 'Perf micro-watts' patch > which I will post (I'll CC you) does NOT expose any new interface but only > takes care to store the new micro-watts capability internally in a flag > (if advertised by an SCMIv3.1 backend server), so that, basically, you'll > keep seeing from the SCMI cpufreq driver that the scale is milli-watt > (when milli-watts are used of course) or non-milli-watt (for abstract and > micro-watts scales). Sounds good! > > This is intended to be of course a first step, laying out just the bare > minimum commmon internal SCMI support, until we figure out how to properly > expose this from the SCMI Perf in order to make it usable for EM. > (if neeeded at all). > I had such a patch for the EM, to keep the power in micro-Watts. We can glue these two layers (high level EM and low layer SCMI perf). Let's sort it out. Regards, Lukasz