Comment # 13 on bug 1190871 from
(In reply to Giovanni Gherdovich from comment #10)
> Hello,
> 
> before getting into the detail of this report I need to clarify the
> difference
> between two kinds of frequency measurements: average frequency over active
> time (also called "BusyMHz") and average frequency over entire time (or
> "AvgMHz").
> 
> * BusyMHz: a CPU can be active, i.e. executing instructions (this is called
>   "CO State") or switched off, inactive. There are several inctive states,
>   called C1, C2, C3 etc. depending on how big of a portion of a CPU is taken
>   offline. A CPU enters an inactive state to save energy; when in such state,
>   it isn't executing anything and we can say the clock frequency is zero.
>   BusyMHz is the average clock frequency (during the sampled interval) if we
>   only consider C0 time, and dismiss all the time that's spent in all other
>   C-States. You can be idling a lot (lots of non-C0 time) and still have a
>   high BusyMHz, simply because of some brief activity spike (eg. processing
>   interrupts). When the machine is not under load what's important is that
>   AvgMHz is low, see next item.
> 
> * AvgMHz: if we include all the non-C0 time (during which the CPU was powered
>   off to some extent) in our average frequency calculation, we get AvgMHz.
>   When not under load, this is expected to be near zero.
> 
> Your measurement before and after the change were done using lscpu; there are
> two problems with that:
> 
> 1. lscpu measures BusyMHz; the sampling time is very brief (less than 10 ms).
>    This is not a good indication of "cpu is spinning fast even if I not doing
>    anything". Again, BusyMHz can be high even if the machine is not under
>    load.
> 
> 2. lscpu only shows BusyMHz for the first cpu, CPU#0. It seems like this is
> an
>    Intel CPU and I expect it to have multiple cores; the reason for the
> change
>    in lscpu output could simply be something that used to be processed
>    elsewhere is now processed on CPU#0. Without data on the full set of CPUs,
>    we can't tell.
> 
> Regarding how to measure the CPU frequency, the designated tool is
> turbostat(8), which in openSUSE is packaged in the cpupower package.
> 
> Please run (as root) the following:
> 
>     turbostat --interval 1
> 
> This will sample all the data that's needed at intervals of 1 second,
> especially AvgMHz and BusyMHz from above, and Busy% which will tell the
> percentage of C0 time with respect to the total.
> 
> What we want for an idle system is low values of AvgMHz and Busy%.
> Please let turbostat run for a minute or so, save the entire output and post
> as an attachment (including the header information, which shows a number of
> power-management related indicators).
> 
> Also please show the entire `lscpu` output for information on the CPU model.
> 
> Thanks,

Thank you for such a wonderful post. I love learning more about Linux and this
certainly helped. I provided everything you asked for. I just wanted to mention
that I really, really appreciate your help with this and your willingness to
explain these items to me. Thank you for your help with this.


You are receiving this mail because: