Re: [RFC 2/2] selftest/cpuidle: Add support for cpuidle latency measurement

Doug Smythies
2021-03-17T21:01:56Z

Hi Pratik,

It just so happens that I have been trying Artem's version this last
week, so I tried yours.

On Mon, Mar 15, 2021 at 4:49 AM Pratik Rajesh Sampat
<psampat@linux.ibm.com> wrote:
>
...
> To run this test specifically:
> $ make -C tools/testing/selftests TARGETS="cpuidle" run_tests

While I suppose it should have been obvious, I interpreted
the "$" sign to mean I could run as a regular user, which I can not.

> There are a few optinal arguments too that the script can take
> [-h <help>]
> [-m <location of the module>]
> [-o <location of the output>]
> [-v <verbose> (run on all cpus)]
> Default Output location in: tools/testing/cpuidle/cpuidle.log

Isn't it:

tools/testing/selftests/cpuidle/cpuidle.log

? At least, that is where my file was.

Other notes:

No idle state for CPU 0 ever gets disabled.
I assume this is because CPU 0 can never be offline,
so that bit of code (Disable all stop states) doesn't find its state.
By the way, processor = Intel i5-9600K

The system is left with all idle states disabled, well not for CPU 0
as per the above comment. The suggestion is to restore them,
otherwise my processor hogs 42 watts instead of 2.

My results are highly variable per test.
My system is very idle:
Example (from turbostat at 6 seconds sample rate):
Busy% Bzy_MHz IRQ PkgTmp PkgWatt RAMWatt
0.03 4600 153 28 2.03 1.89
0.01 4600 103 29 2.03 1.89
0.05 4600 115 29 2.08 1.89
0.01 4600 95 28 2.09 1.89
0.03 4600 114 28 2.11 1.89
0.01 4600 107 29 2.07 1.89
0.02 4600 102 29 2.11 1.89

...

... Doug