All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: catalin.marinas@arm.com, Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	Vincent Guittot <vincent.guittot@linaro.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: arm: Fix cpu capacity mismatch in example
Date: Mon, 29 Oct 2018 10:26:57 +0100	[thread overview]
Message-ID: <1297c984-789f-0298-c3b8-8668f5b898de@linaro.org> (raw)
In-Reply-To: <20181029063450.3o3ay7pazik5tgne@vireshk-i7>

On 29/10/2018 07:34, Viresh Kumar wrote:
> On 26-10-18, 10:30, Daniel Lezcano wrote:
>> On 26/10/2018 06:11, Viresh Kumar wrote:
>>> On 25-10-18, 14:04, Daniel Lezcano wrote:
>>>> I think it is actually correct. The example is confusing on what the
>>>> numbers are. IIUC, it is:
>>>>
>>>> (after normalizing)
>>>>
>>>> dhrystone result on big CPU is 1024 at 1100MHz
>>>> dhrystone result on little CPU is 446 at 850MHz
>>>>
>>>> We have to scale the result of the little for 1100MHz in order to compare.
>>>>
>>>> 1100/850 = 1.294
>>>>
>>>> dhrystone result on little CPU is 446 * 1.294 = 577 at 1100MHz
>>>>
>>>> So we put the normalized values 1024 and 577. The arch_topology will
>>>> scale 577 back to 446 as it will compute the max capacity based on the
>>>> max freq which is 850MHz.
>>>>
>>>> The *final* capacities are 1024 for cluster0 and 446 for cluster1 (read
>>>> the cpu max capacity, the ones showed in the sysfs).
>>>>
>>>> Did I miss something ?
>>>
>>> No. What about making it more clear in the example to save the next idiot (like
>>> me) from wasting time :)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/cpu-capacity.txt b/Documentation/devicetree/bindings/arm/cpu-capacity.txt
>>> index 9b5685a1d15d..d061e6575bde 100644
>>> --- a/Documentation/devicetree/bindings/arm/cpu-capacity.txt
>>> +++ b/Documentation/devicetree/bindings/arm/cpu-capacity.txt
>>> @@ -61,7 +61,10 @@ mhz values (normalized w.r.t. the highest value found while parsing the DT).
>>>  Example 1 (ARM 64-bit, 6-cpu system, two clusters):
>>>  capacities-dmips-mhz are scaled w.r.t. 1024 (cpu@0 and cpu@1)
>>>  supposing cluster0@max-freq=1100 and custer1@max-freq=850,
>>> -final capacities are 1024 for cluster0 and 446 for cluster1
>>> +final capacities are 1024 for cluster0 and 446 for cluster1.
>>> +Note that the values mentioned below in the example (1024 and 578)
>>> +aren't normalized based on max frequency of each cluster and that is
>>> +left for the operating system to do.
>>
>> Yes, it will help but if you want to make things even more clear, I
>> suggest to elaborate the text a bit and give the numbers above to
>> explain (1100/850=1.294, 446 * 1.294 = 577, ...)
> 
> I didn't wanted to explain way too much, but how about this..
> 
> diff --git a/Documentation/devicetree/bindings/arm/cpu-capacity.txt b/Documentation/devicetree/bindings/arm/cpu-capacity.txt
> index 9b5685a1d15d..84262cdb8d29 100644
> --- a/Documentation/devicetree/bindings/arm/cpu-capacity.txt
> +++ b/Documentation/devicetree/bindings/arm/cpu-capacity.txt
> @@ -59,9 +59,11 @@ mhz values (normalized w.r.t. the highest value found while parsing the DT).
>  ===========================================
>  
>  Example 1 (ARM 64-bit, 6-cpu system, two clusters):
> -capacities-dmips-mhz are scaled w.r.t. 1024 (cpu@0 and cpu@1)
> -supposing cluster0@max-freq=1100 and custer1@max-freq=850,
> -final capacities are 1024 for cluster0 and 446 for cluster1
> +The capacities-dmips-mhz or DMIPS/MHz values (scaled to 1024)
> +are 1024 and 578 for cluster0 and cluster1. Further normalization
> +is done by the operating system based on cluster0@max-freq=1100 and
> +custer1@max-freq=850, final capacities are 1024 for cluster0 and
> +446 for cluster1 (576*850/1100).

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>


-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] dt-bindings: arm: Fix cpu capacity mismatch in example
Date: Mon, 29 Oct 2018 10:26:57 +0100	[thread overview]
Message-ID: <1297c984-789f-0298-c3b8-8668f5b898de@linaro.org> (raw)
In-Reply-To: <20181029063450.3o3ay7pazik5tgne@vireshk-i7>

On 29/10/2018 07:34, Viresh Kumar wrote:
> On 26-10-18, 10:30, Daniel Lezcano wrote:
>> On 26/10/2018 06:11, Viresh Kumar wrote:
>>> On 25-10-18, 14:04, Daniel Lezcano wrote:
>>>> I think it is actually correct. The example is confusing on what the
>>>> numbers are. IIUC, it is:
>>>>
>>>> (after normalizing)
>>>>
>>>> dhrystone result on big CPU is 1024 at 1100MHz
>>>> dhrystone result on little CPU is 446 at 850MHz
>>>>
>>>> We have to scale the result of the little for 1100MHz in order to compare.
>>>>
>>>> 1100/850 = 1.294
>>>>
>>>> dhrystone result on little CPU is 446 * 1.294 = 577 at 1100MHz
>>>>
>>>> So we put the normalized values 1024 and 577. The arch_topology will
>>>> scale 577 back to 446 as it will compute the max capacity based on the
>>>> max freq which is 850MHz.
>>>>
>>>> The *final* capacities are 1024 for cluster0 and 446 for cluster1 (read
>>>> the cpu max capacity, the ones showed in the sysfs).
>>>>
>>>> Did I miss something ?
>>>
>>> No. What about making it more clear in the example to save the next idiot (like
>>> me) from wasting time :)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/cpu-capacity.txt b/Documentation/devicetree/bindings/arm/cpu-capacity.txt
>>> index 9b5685a1d15d..d061e6575bde 100644
>>> --- a/Documentation/devicetree/bindings/arm/cpu-capacity.txt
>>> +++ b/Documentation/devicetree/bindings/arm/cpu-capacity.txt
>>> @@ -61,7 +61,10 @@ mhz values (normalized w.r.t. the highest value found while parsing the DT).
>>>  Example 1 (ARM 64-bit, 6-cpu system, two clusters):
>>>  capacities-dmips-mhz are scaled w.r.t. 1024 (cpu at 0 and cpu at 1)
>>>  supposing cluster0 at max-freq=1100 and custer1 at max-freq=850,
>>> -final capacities are 1024 for cluster0 and 446 for cluster1
>>> +final capacities are 1024 for cluster0 and 446 for cluster1.
>>> +Note that the values mentioned below in the example (1024 and 578)
>>> +aren't normalized based on max frequency of each cluster and that is
>>> +left for the operating system to do.
>>
>> Yes, it will help but if you want to make things even more clear, I
>> suggest to elaborate the text a bit and give the numbers above to
>> explain (1100/850=1.294, 446 * 1.294 = 577, ...)
> 
> I didn't wanted to explain way too much, but how about this..
> 
> diff --git a/Documentation/devicetree/bindings/arm/cpu-capacity.txt b/Documentation/devicetree/bindings/arm/cpu-capacity.txt
> index 9b5685a1d15d..84262cdb8d29 100644
> --- a/Documentation/devicetree/bindings/arm/cpu-capacity.txt
> +++ b/Documentation/devicetree/bindings/arm/cpu-capacity.txt
> @@ -59,9 +59,11 @@ mhz values (normalized w.r.t. the highest value found while parsing the DT).
>  ===========================================
>  
>  Example 1 (ARM 64-bit, 6-cpu system, two clusters):
> -capacities-dmips-mhz are scaled w.r.t. 1024 (cpu at 0 and cpu at 1)
> -supposing cluster0 at max-freq=1100 and custer1 at max-freq=850,
> -final capacities are 1024 for cluster0 and 446 for cluster1
> +The capacities-dmips-mhz or DMIPS/MHz values (scaled to 1024)
> +are 1024 and 578 for cluster0 and cluster1. Further normalization
> +is done by the operating system based on cluster0 at max-freq=1100 and
> +custer1 at max-freq=850, final capacities are 1024 for cluster0 and
> +446 for cluster1 (576*850/1100).

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>


-- 
 <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

  reply	other threads:[~2018-10-29  9:27 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-25  8:27 [PATCH] dt-bindings: arm: Fix cpu capacity mismatch in example Viresh Kumar
2018-10-25  8:27 ` Viresh Kumar
2018-10-25 12:04 ` Daniel Lezcano
2018-10-25 12:04   ` Daniel Lezcano
2018-10-26  4:11   ` Viresh Kumar
2018-10-26  4:11     ` Viresh Kumar
2018-10-26  8:30     ` Daniel Lezcano
2018-10-26  8:30       ` Daniel Lezcano
2018-10-29  6:34       ` Viresh Kumar
2018-10-29  6:34         ` Viresh Kumar
2018-10-29  9:26         ` Daniel Lezcano [this message]
2018-10-29  9:26           ` Daniel Lezcano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1297c984-789f-0298-c3b8-8668f5b898de@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.