Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1428975

Re: [PATCH v5 1/8] Documentation: arm: define DT cpu capacity-dmips-mhz bindings

From Juri Lelli <juri.lelli@arm.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5 1/8] Documentation: arm: define DT cpu capacity-dmips-mhz bindings
Date 2016-06-22 19:00 +0200
Message-ID <rMTFn-5Zi-17@gated-at.bofh.it> (permalink)
References <rKg5r-1fI-11@gated-at.bofh.it> <rKg5r-1fI-19@gated-at.bofh.it> <rKrke-8p8-45@gated-at.bofh.it> <rKAQx-5Ue-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Rob,

On 16/06/16 09:20, Juri Lelli wrote:
> Hi,
> 
> On 15/06/16 17:11, Rob Herring wrote:
> > On Wed, Jun 15, 2016 at 5:17 AM, Juri Lelli <juri.lelli@arm.com> wrote:
> 
> [...]
> 
> > > +==========================================
> > > +2 - CPU capacity definition
> > > +==========================================
> > > +
> > > +CPU capacity is a number that provides the scheduler information about CPUs
> > > +heterogeneity. Such heterogeneity can come from micro-architectural differences
> > > +(e.g., ARM big.LITTLE systems) or maximum frequency at which CPUs can run
> > > +(e.g., SMP systems with multiple frequency domains). Heterogeneity in this
> > > +context is about differing performance characteristics; this binding tries to
> > > +capture a first-order approximation of the relative performance of CPUs.
> > > +
> > > +CPU capacities are obtained by running a suitable benchmark. This binding makes
> > > +no aspersions on the validity or suitability of any particular benchmark, the
> > > +final capacity should, however, be:
> > > +
> > > +* A "single-threaded" or CPU affine benchmark
> > > +* Divided by the running frequency of the CPU executing the benchmark
> > > +* Not subject to dynamic frequency scaling of the CPU
> > > +
> > > +For the time being we however advise usage of the Dhrystone benchmark. What
> > > +above thus becomes:
> > > +
> > > +CPU capacities are obtained by running the Dhrystone benchmark on each CPU at
> > > +max frequency. The obtained DMIPS score is then divided by the frequency (in
> > > +MHz) at which the benchmark has been run, so that DMIPS/MHz are obtained.
> > > +Such values are then normalized w.r.t. the highest score obtained in the
> > > +system.
> > 
> > So the property says it represents DMIPS/MHz, but we take that and
> > "normalize" them back to a made up numbers?
> 
> The normalization step is required if one wants to prevent
> cross-platform comparisons (I think that's what vendors generally want).
> They are not made up, they still come from measured DMIPS/MHz values.
> 
> > Perhaps that step should
> > be optional. Then paranoid Si vendors can put their fake numbers in
> > and end users can update the dts files with real numbers.
> > 
> 
> But, you can also decide to skip that step and put non normalized
> numbers in. This documentation is advising people for what seems to be
> be the most common way of coming up with values that, once in a DT,
> won't be used to compare perf of different platforms.
> 
> Maybe we want to add a paragraph clearly stating this point?
> 
> > Is there any point in allowing people to pick their own scale? Why not
> > just 100 (as in percent)?
> > 
> 
> I think we agreed that not picking any particular scale is more flexible
> and easier to use. For example, if there is a 2x factor between you cpus
> you can simply put 1 and 2 there. But, if you need higher "resolution"
> you can put whatever suits you better and we'll use the max as scale.
> 
> Thanks a lot for the review.
> 

Do you have any further comments on this point?

Best,

- Juri

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v5 0/8] CPUs capacity information for heterogeneous systems Juri Lelli <juri.lelli@arm.com> - 2016-06-15 12:20 +0200
  [PATCH v5 7/8] arm: add sysfs cpu_capacity attribute Juri Lelli <juri.lelli@arm.com> - 2016-06-15 12:20 +0200
  [PATCH v5 1/8] Documentation: arm: define DT cpu capacity-dmips-mhz bindings Juri Lelli <juri.lelli@arm.com> - 2016-06-15 12:20 +0200
    Re: [PATCH v5 1/8] Documentation: arm: define DT cpu  capacity-dmips-mhz bindings Vincent Guittot <vincent.guittot@linaro.org> - 2016-06-15 15:00 +0200
      Re: [PATCH v5 1/8] Documentation: arm: define DT cpu  capacity-dmips-mhz bindings Juri Lelli <juri.lelli@arm.com> - 2016-06-15 16:30 +0200
    Re: [PATCH v5 1/8] Documentation: arm: define DT cpu  capacity-dmips-mhz bindings Mark Brown <broonie@kernel.org> - 2016-06-15 16:10 +0200
      Re: [PATCH v5 1/8] Documentation: arm: define DT cpu  capacity-dmips-mhz bindings Juri Lelli <juri.lelli@arm.com> - 2016-06-15 16:30 +0200
    Re: [PATCH v5 1/8] Documentation: arm: define DT cpu  capacity-dmips-mhz bindings Rob Herring <robh+dt@kernel.org> - 2016-06-16 00:20 +0200
      Re: [PATCH v5 1/8] Documentation: arm: define DT cpu  capacity-dmips-mhz bindings Juri Lelli <juri.lelli@arm.com> - 2016-06-16 10:30 +0200
        Re: [PATCH v5 1/8] Documentation: arm: define DT cpu  capacity-dmips-mhz bindings Juri Lelli <juri.lelli@arm.com> - 2016-06-22 19:00 +0200
  [PATCH v5 3/8] arm, dts: add TC2 cpu capacity-dmips-mhz information Juri Lelli <juri.lelli@arm.com> - 2016-06-15 12:20 +0200
  [PATCH v5 6/8] arm64, dts: add Juno r2 cpu capacity-dmips-mhz information Juri Lelli <juri.lelli@arm.com> - 2016-06-15 12:20 +0200
  [PATCH v5 4/8] arm64: parse cpu capacity-dmips-mhz from DT Juri Lelli <juri.lelli@arm.com> - 2016-06-15 12:20 +0200
    Re: [PATCH v5 4/8] arm64: parse cpu capacity-dmips-mhz from DT Juri Lelli <juri.lelli@arm.com> - 2016-06-15 12:30 +0200
    Re: [PATCH v5 4/8] arm64: parse cpu capacity-dmips-mhz from DT Mark Brown <broonie@kernel.org> - 2016-06-15 16:00 +0200
      Re: [PATCH v5 4/8] arm64: parse cpu capacity-dmips-mhz from DT Juri Lelli <juri.lelli@arm.com> - 2016-06-15 16:50 +0200
  [PATCH v5 2/8] arm: parse cpu capacity-dmips-mhz from DT Juri Lelli <juri.lelli@arm.com> - 2016-06-15 12:30 +0200

csiph-web