Re: [RESEND PATCH V2 2/2] Documentation: amd-pstate: Add speedometer test introduction

From: Huang Rui
Date: Mon Dec 05 2022 - 04:19:24 EST


On Mon, Nov 07, 2022 at 09:11:27AM +0800, Meng, Li (Jassmine) wrote:
> Introduce speedometer test cases design and implementation.
> Monitor cpus changes about performance and power consumption etc.
>
> Signed-off-by: Meng Li <li.meng@xxxxxxx>
> ---
> Documentation/admin-guide/pm/amd-pstate.rst | 75 ++++++++++++++++++++-
> 1 file changed, 74 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/admin-guide/pm/amd-pstate.rst b/Documentation/admin-guide/pm/amd-pstate.rst
> index 29c50e96eb95..0163d1231aa7 100644
> --- a/Documentation/admin-guide/pm/amd-pstate.rst
> +++ b/Documentation/admin-guide/pm/amd-pstate.rst
> @@ -451,6 +451,23 @@ Unit Tests for amd-pstate
> The specified governor is ondemand or schedutil.
> Gitsource can also be tested on the ``acpi-cpufreq`` kernel driver for comparison.
>
> + 4). Speedometer test
> +
> + Test and monitor the cpu changes when running speedometer benchmark under the specified governor.
> + These changes include desire performance, frequency, load, time, energy etc.
> + The specified governor is ondemand or schedutil.
> + Speedometer can also be tested on the ``acpi-cpufreq`` kernel driver for comparison.
> +
> +#. Preparations before tests
> +
> + 1). Speedometer
> +
> + + Python version 3.0.x or higher
> + + Install chromium-browser
> + + Install chromium-chromedriver
> + + Install selenium on the client
> + + Install selenium-server on the server
> +
> #. How to execute the tests
>
> We use test module in the kselftest frameworks to implement it.
> @@ -487,6 +504,8 @@ Unit Tests for amd-pstate
> $ sudo ./run.sh -t tbench -m acpi-cpufreq
> $ sudo ./run.sh -t gitsource
> $ sudo ./run.sh -t gitsource -m acpi-cpufreq
> + $ sudo ./run.sh -t speedometer
> + $ sudo ./run.sh -t speedometer -m acpi-cpufreq

While I run the above scripts: sudo ./run.sh -t speedometer

I found Tbench test result will be reported as well, but it reported as a
runtime error.

Tbench test result for ondemand (loops:3)
--------------------------------------------------
Tbench-ondemand avg des perf: -nan
Tbench-ondemand avg freq: -nan
Tbench-ondemand avg load: -nan
Tbench-ondemand total throughput(MB/s): 0
Tbench-ondemand avg throughput(MB/s): 0
Tbench-ondemand total power consumption(J): 0
Tbench-ondemand avg power consumption(J): 0
Runtime error (func=(main), adr=14): Divide by zero
Tbench-ondemand performance per watt(MB/J):

I think we may have more detailed steps to tell every one how to execute the tests easily.

Thanks,
Ray

> $ ./run.sh --help
> ./run.sh: illegal option -- -
> Usage: ./run.sh [OPTION...]
> @@ -495,7 +514,8 @@ Unit Tests for amd-pstate
> [-c <all: All testing,
> basic: Basic testing,
> tbench: Tbench testing,
> - gitsource: Gitsource testing.>]
> + gitsource: Gitsource testing,
> + speedometer: Speedometer testing.>]
> [-t <tbench time limit>]
> [-p <tbench process number>]
> [-l <loop times for tbench>]
> @@ -621,6 +641,59 @@ Unit Tests for amd-pstate
> + acpi-cpufreq-schedutil VS amd-pstate-schedutil | Comprison(%) | | | | 2.1115 | 4.2873 | -4.1110 |
> +-------------------------------------------------+--------------+----------+----------+----------+-------------+---------+----------------------+
>
> + + speedometer
> +
> + When you finish test, you will get selftest.speedometer.csv and png images.
> + The selftest.speedometer.csv file contains the raw data and the drop of the comparative test.
> + The png images shows the goal, time, energy and performan per watt of each test.
> + Open selftest.speedometer.csv :
> +
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + Governor | Round | Des-perf | Freq | Load | Goal | Time | Energy | Performance Per Watt |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + Unit | | | GHz | | Runs/Minute | s | J | Runs/w |
> + +=================================================+==============+==========+==========+==========+=============+=============+=========+======================+
> + + acpi-cpufreq-ondemand | 1 | | | | 209 | 51 | 731.84 | 0.2427 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-ondemand | 2 | | | | 205 | 51 | 759.03 | 0.2295 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-ondemand | 3 | | | | 206 | 51 | 755.15 | 0.2318 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-ondemand | Average | | | | 206.667 | 51 | 748.673 | 0.2346 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-schedutil | 1 | | | | 206 | 56 | 775.08 | 0.248 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-schedutil | 2 | | | | 204 | 51 | 762.06 | 0.2275 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-schedutil | 3 | | | | 207 | 56 | 776.35 | 0.2488 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-schedutil | Average | | | | 205.667 | 54.3333 | 771.163 | 0.2415 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-ondemand | 1 | 24.7974 | 1.73142 | 7.71728 | 195 | 64 | 756.6 | 0.2749 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-ondemand | 2 | 26.1653 | 1.91492 | 8.5525 | 195 | 51 | 705.67 | 0.2348 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-ondemand | 3 | 24.1789 | 1.69516 | 7.41152 | 196 | 65 | 758.98 | 0.2797 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-ondemand | Average | 25.0472 | 1.7805 | 7.89377 | 195.333 | 60 | 740.417 | 0.2638 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-schedutil | 1 | 67.0214 | 2.76691 | 17.1314 | 197 | 51 | 737.52 | 0.227 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-schedutil | 2 | 64.3032 | 2.75981 | 16.1196 | 198 | 55 | 763.57 | 0.2376 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-schedutil | 3 | 65.5175 | 2.59423 | 17.0067 | 201 | 51 | 735.96 | 0.2321 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-schedutil | Average | 65.614 | 2.70698 | 16.7526 | 198.667 | 52.3333 | 745.683 | 0.2323 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-ondemand VS acpi-cpufreq-schedutil | Comprison(%) | | | | -0.4838 | 6.5358 | 3.0039 | 2.9411 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + amd-pstate-ondemand VS amd-pstate-schedutil | Comprison(%) | 161.9614 | 52.0348 | 112.2255 | 1.7068 | -12.7778 | 0.7112 | -11.9408 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-ondemand VS amd-pstate-ondemand | Comprison(%) | | | | -5.4841 | 17.647 | -1.1027 | 12.4467 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> + + acpi-cpufreq-schedutil VS amd-pstate-schedutil | Comprison(%) | | | | -3.4035 | -3.6809 | -3.3041 | -3.8095 |
> + +-------------------------------------------------+--------------+----------+----------+----------+-------------+-------------+---------+----------------------+
> +
> Reference
> ===========
>
> --
> 2.34.1
>