Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp7815311rdb; Thu, 4 Jan 2024 08:30:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IEGetno+jYTkQGk51RFEzoLVlf8BV41SiwlqsefqJ8girH56Kk5miDaU+tBPPFPn8mO5epU X-Received: by 2002:a05:6870:ab1b:b0:204:7f1c:1ec8 with SMTP id gu27-20020a056870ab1b00b002047f1c1ec8mr820991oab.2.1704385824674; Thu, 04 Jan 2024 08:30:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704385824; cv=none; d=google.com; s=arc-20160816; b=tBDeP551UyVjQ97e1qRjpUkkBOOsOiU6pcaksuKat8hxB9LMejMlkWveQk6Eac5LLS mAUJvLGcpqnxlBEs5ctBMCvA+I0L+u4u169IScVe5hfEHJ/ZKrrkaPy8ZZNxtFvwMRN1 U7cQdVv+vgFLEvqHEWXt3IS8pRKtL9d3y9YTOTeQCOCFe/utOCobld0/Kai042ad0xAE k0yanFmxwuLEOtlJCqcNYy26gEt91zfreQeAaFULT+0I4sIJhmEK6CM/RfzZDROBgh2L Ct+BcKBiUhn5FcJu8z8y4CXj6NUpKIs3unHmoWz+SQiAcgT0TCCpDdSAlXmqD4kZBG63 J5Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id; bh=eqc4Wt+BCs9TnQ/ELdGz3bGY4vYl2C+vwVoIEGpiVh4=; fh=VrYVX1UFAH5FibV7jxBTpHpa7bpklhvkgEPRLCe+7Ig=; b=KT1gck40Oox0JozTzM1NRjNVCUseGhUVBgWJklhwgR1apYD5TRvwGwFjVRX/w8A4oz 5IlNK0MaQxaAb+vcOaFU3fFfOE9/U0ddeVz2bYh0WJJH0KQi9TUAr1FF06nuvpSL3Drq uCUy0dN4kDvXGw+PeDoxJB/TxxrvwkHnvtdYTydvKQK3pZJlrzCbeRW/ZFWUvB048oiO 1V34OlWpVNtzvO4+NktENgbk2SkuuRpd8Hjx5OwLQNCLK8yJsKgcqEBLsaLyPeTMocZR nfqKhH9ShGyALgs78TKyNCXY0zVGDjdAr4wZblWxnddnXyPerzZ7LxyBP38X/FW2ffmL owrQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-16933-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-16933-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id e13-20020ac85dcd000000b0042581a7c1a5si31012722qtx.631.2024.01.04.08.30.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jan 2024 08:30:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-16933-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-16933-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-16933-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 6B4FB1C20EBD for ; Thu, 4 Jan 2024 16:30:24 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7E86F24B27; Thu, 4 Jan 2024 16:30:18 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8E57724B4F; Thu, 4 Jan 2024 16:30:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com 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 D53481007; Thu, 4 Jan 2024 08:31:01 -0800 (PST) Received: from [192.168.178.6] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E309C3F5A1; Thu, 4 Jan 2024 08:30:13 -0800 (PST) Message-ID: <52655f7d-4056-42eb-a3c4-1eb8e21ea259@arm.com> Date: Thu, 4 Jan 2024 17:30:12 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 15/23] PM: EM: Optimize em_cpu_energy() and remove division Content-Language: en-US To: Lukasz Luba Cc: rui.zhang@intel.com, amit.kucheria@verdurent.com, rafael@kernel.org, linux-kernel@vger.kernel.org, amit.kachhap@gmail.com, daniel.lezcano@linaro.org, viresh.kumar@linaro.org, len.brown@intel.com, pavel@ucw.cz, mhiramat@kernel.org, qyousef@layalina.io, wvw@google.com, linux-pm@vger.kernel.org References: <20231129110853.94344-1-lukasz.luba@arm.com> <20231129110853.94344-16-lukasz.luba@arm.com> From: Dietmar Eggemann In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 20/12/2023 09:42, Lukasz Luba wrote: > > > On 12/12/23 18:50, Dietmar Eggemann wrote: >> On 29/11/2023 12:08, Lukasz Luba wrote: [...] >>> With this optimization, the em_cpu_energy() should run faster on the Big >>> CPU by 1.43x and on the Little CPU by 1.69x. >> >> Where are those precise numbers are coming from? Which platform was it? > > That was mainline big.Little board rockpi4 b w/ rockchip 3399, present IMHO, you should mention the platform here so people don't wonder. > quite a few commercial devices (e.g. chromebooks or plenty other seen in > DT). The numbers are from measuring the time it takes to run this > function em_cpu_cost() in a loop for mln of times. Thus, the instruction > cache and data cache should be hot, but the operation would impact the > different score. [...] >> Can you not keep the existing comment and only change: >> >> (a) that ps->cap id ps->performance in (2) and >> >> (b) that: >> >>            *             ps->power * cpu_max_freq   cpu_util >>            *   cpu_nrg = ------------------------ * ---------     (3) >>            *                    ps->freq            scale_cpu >> >>                          <---- (old) ps->cost ---> >> >>      is now >> >>                  ps->power * cpu_max_freq       1 >>      ps-> cost = ------------------------ * ---------- >>                          ps->freq            scale_cpu >> >>                  <---- (old) ps->cost ---> >> >> and (c) that (4) has changed to: >> >>           *   pd_nrg = ps->cost * \Sum cpu_util                   (4) >> >> which avoid the division? >> >> Less changes is always much nicer since it makes it so much easier to >> detect history and review changes. > > I'm open to change that, but I will have to contact you offline > what you mean. This comment section in code is really tricky to > handle right. OK, the changes you showed me offline LGTM. [...]