Message ID | 138600f5d504b41202a29a1e130a7aa4e51f1925.1540451976.git.viresh.kumar@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dt-bindings: arm: Fix cpu capacity mismatch in example | expand |
On 25/10/2018 10:27, Viresh Kumar wrote: > The example text says the capacity value should be 446, while the > example have it set to 578 instead. Fix the mismatch. > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- > Documentation/devicetree/bindings/arm/cpu-capacity.txt | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/arm/cpu-capacity.txt b/Documentation/devicetree/bindings/arm/cpu-capacity.txt > index 9b5685a1d15d..7a0d6b429c8d 100644 > --- a/Documentation/devicetree/bindings/arm/cpu-capacity.txt > +++ b/Documentation/devicetree/bindings/arm/cpu-capacity.txt > @@ -61,7 +61,7 @@ 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 578 for cluster1 > > cpus { > #address-cells = <2>; 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 ?
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. cpus { #address-cells = <2>;
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, ...)
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). cpus { #address-cells = <2>;
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>
diff --git a/Documentation/devicetree/bindings/arm/cpu-capacity.txt b/Documentation/devicetree/bindings/arm/cpu-capacity.txt index 9b5685a1d15d..7a0d6b429c8d 100644 --- a/Documentation/devicetree/bindings/arm/cpu-capacity.txt +++ b/Documentation/devicetree/bindings/arm/cpu-capacity.txt @@ -61,7 +61,7 @@ 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 578 for cluster1 cpus { #address-cells = <2>;
The example text says the capacity value should be 446, while the example have it set to 578 instead. Fix the mismatch. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- Documentation/devicetree/bindings/arm/cpu-capacity.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)