lkml.org 
[lkml]   [2023]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFT][PATCH v2 0/3] cpuidle: teo: Do not check timers unconditionally every time
Hi Rafael,

On Thu, Aug 03, 2023 at 10:57:04PM +0200, Rafael J. Wysocki wrote:
> Hi Folks,
>
> This is the second iteration of:
>
> https://lore.kernel.org/linux-pm/4511619.LvFx2qVVIh@kreacher/
>
> with an additional patch.
>
> There are some small modifications of patch [1/3] and the new
> patch causes governor statistics to play a role in deciding whether
> or not to stop the scheduler tick.
>
> Testing would be much appreciated!
>
> Thanks!
>

My test results including the v2 are below.

1. Geekbench 6

+---------------------------+---------------+-----------------+-------------------+----------------------+
| metric | teo | teo_tick | teo_tick_rfc | teo_tick_rfc_v2 |
+---------------------------+---------------+-----------------+-------------------+----------------------+
| multicore_score | 3320.9 (0.0%) | 3303.3 (-0.53%) | 3293.6 (-0.82%) | 3302.3 (-0.56%) |
| score | 1415.7 (0.0%) | 1417.7 (0.14%) | 1423.4 (0.54%) | 1425.8 (0.71%) |
| CPU_total_power | 2421.3 (0.0%) | 2429.3 (0.33%) | 2442.2 (0.86%) | 2461.9 (1.67%) |
| latency (AsyncTask #1) | 49.41μ (0.0%) | 51.07μ (3.36%) | 50.1μ (1.4%) | 50.76μ (2.73%) |
| latency (labs.geekbench6) | 65.63μ (0.0%) | 77.47μ (18.03%) | 55.82μ (-14.95%) | 66.12μ (0.75%) |
| latency (surfaceflinger) | 39.46μ (0.0%) | 36.94μ (-6.39%) | 35.79μ (-9.28%) | 40.36μ (2.3%) |
+---------------------------+---------------+-----------------+-------------------+----------------------+

+----------------------+-------------+------------+
| tag | type | count_perc |
+----------------------+-------------+------------+
| teo | too deep | 2.034 |
| teo_tick | too deep | 2.16 |
| teo_tick_rfc | too deep | 2.071 |
| teo_tick_rfc_v2 | too deep | 2.548 |
| teo | too shallow | 15.791 |
| teo_tick | too shallow | 20.881 |
| teo_tick_rfc | too shallow | 20.337 |
| teo_tick_rfc_v2 | too shallow | 19.886 |
+----------------------+-------------+------------+


2. JetNews

+-----------------+---------------+----------------+-----------------+-----------------+
| metric | teo | teo_tick | teo_tick_rfc | teo_tick_rfc_v2 |
+-----------------+---------------+----------------+-----------------+-----------------+
| fps | 86.2 (0.0%) | 86.4 (0.16%) | 86.0 (-0.28%) | 86.6 (0.41%) |
| janks_pc | 0.8 (0.0%) | 0.8 (-0.66%) | 0.8 (-1.37%) | 0.7 (-11.37%) |
| CPU_total_power | 185.2 (0.0%) | 178.2 (-3.76%) | 182.2 (-1.6%) | 169.4 (-8.53%) | <- very interesting
+-----------------+---------------+----------------+-----------------+-----------------+

+----------------------+-------------+--------------------+
| tag | type | count_perc |
+----------------------+-------------+--------------------+
| teo | too deep | 0.992 |
| teo_tick | too deep | 0.945 |
| teo_tick_rfc | too deep | 1.035 |
| teo_tick_rfc_v2 | too deep | 1.127 |
| teo | too shallow | 17.085 |
| teo_tick | too shallow | 15.236 |
| teo_tick_rfc | too shallow | 15.379 |
| teo_tick_rfc_v2 | too shallow | 15.34 |
+----------------------+-------------+--------------------+

All in all looks pretty good. Unfortunately there's a slightly larger
percentage of too deep sleeps with the v2 (which is probably where the
increase in GB6 power usage comes from) but the lower jank percentage +
substantially lower power usage for the UI workload are very promising.

Since we don't care about GB6 power usage as much as UI power usage, I'd
say that the patchset looks good :)

Tested-by: Kajetan Puchalski <kajetan.puchalski@arm.com>

\
 
 \ /
  Last update: 2023-08-07 16:05    [W:0.120 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site