From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9AC7AC11F69 for ; Wed, 7 Jul 2021 14:25:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7C6686199E for ; Wed, 7 Jul 2021 14:25:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232055AbhGGO2T (ORCPT ); Wed, 7 Jul 2021 10:28:19 -0400 Received: from foss.arm.com ([217.140.110.172]:38128 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232023AbhGGO2N (ORCPT ); Wed, 7 Jul 2021 10:28:13 -0400 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 560A8D6E; Wed, 7 Jul 2021 07:25:32 -0700 (PDT) Received: from [10.57.1.129] (unknown [10.57.1.129]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B35323F73B; Wed, 7 Jul 2021 07:25:28 -0700 (PDT) Subject: Re: [PATCH 1/3] sched/fair: Prepare variables for increased precision of EAS estimated energy To: Vincent Guittot Cc: linux-kernel , Chris Redpath , Dietmar Eggemann , Morten Rasmussen , Quentin Perret , "open list:THERMAL" , Peter Zijlstra , "Rafael J. Wysocki" , Viresh Kumar , Ingo Molnar , Juri Lelli , Steven Rostedt , segall@google.com, Mel Gorman , Daniel Bristot de Oliveira , CCj.Yeh@mediatek.com References: <20210625152603.25960-1-lukasz.luba@arm.com> <20210625152603.25960-2-lukasz.luba@arm.com> <2f43b211-da86-9d48-4e41-1c63359865bb@arm.com> <297df159-1681-f0a7-843d-f34d86e51d4c@arm.com> <27916860-33b1-f0a0-acff-4722a733c81b@arm.com> <58cb7ad3-ffff-8940-4c8e-2c46dcc86d54@arm.com> From: Lukasz Luba Message-ID: Date: Wed, 7 Jul 2021 15:25:26 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/7/21 2:53 PM, Vincent Guittot wrote: > On Wed, 7 Jul 2021 at 13:02, Lukasz Luba wrote: >> >> >> >> On 7/7/21 11:50 AM, Vincent Guittot wrote: >>> On Wed, 7 Jul 2021 at 12:41, Lukasz Luba wrote: >>>> >>>> >>>> >>>> On 7/7/21 11:32 AM, Vincent Guittot wrote: >>>>> On Wed, 7 Jul 2021 at 12:29, Lukasz Luba wrote: >>>>>> >>>>>> >>>>>> >>>>>> On 7/7/21 11:11 AM, Vincent Guittot wrote: >>>>>>> On Wed, 7 Jul 2021 at 12:06, Lukasz Luba wrote: >>>>>>>> >>>>>> >>>>>> [snip] >>>>>> >>>>>>>> No. It's in 0.1uW scale, so 800Watts. Which is 16 CPUs * 64Watts >>>>>>> >>>>>>> Oh! you want 0.1uW precision .... This doesn't seem realistic at all. >>>>>>> I'm not even sure that the power model can even reach an accuracy of >>>>>>> 1mW >>>>>>> >>>>>> >>>>>> True, the EM is registering platform with 1mW precision, but 1uW >>>>> >>>>> Do you mean 1uW or 0.1uW ? >>>> >>>> In this patch set I've proposed 0.1uW, but I'm open to drop one >>>> order of magnitude. The 1uW still be good. >>> >>> I don't want to underestimate the capabilities of the power model but >>> I don't see which benefit you will get with 0.1uW precision >>> With a 1uW precision the long type currently used for the returned >>> value is fine for 32bits machine AFAICT >>> >> >> For 1uW and 1.2Watts for one core, 4 CPUs in cluster we get: >> (1200 * 1000) * (4 * 1024) = ~4.9bln >> so it would need div 64 version > > But as stated before, this is an internal computation step and doesn't > have to be reflected in the returned value which can stay a long > I agree, we might scale down the result if it's too big, before the return. We could figure this out at the EM registration point, so a proper shift might be applied for such platform. It might enable both 32bit and 64bit platforms to avoid the rounding error. Let me experiment with some code to check all the cases. Thank you for the comments!