Thread (25 messages) 25 messages, 3 authors, 2023-06-28
STALE1120d

[PATCH 5/7] thermal: stats: introduce tz time in trip

From: Eduardo Valentin <evalenti@kernel.org>
Date: 2023-06-21 04:45:30
Also in: linux-pm, lkml

On Tue, Jun 20, 2023 at 07:27:57PM +0200, Rafael J. Wysocki wrote:


On Fri, May 19, 2023 at 5:27 AM Eduardo Valentin [off-list ref] wrote:
quoted
From: Eduardo Valentin <redacted>

This patch adds a statistic to report how long
the thermal zone spent on temperature intervals
created by each trip point. The first interval
is the range below the first trip point. All
subsequent intervals are accounted when temperature
is above the trip point temperature value.

Samples:
$ cat /sys//class/thermal/thermal_zone0/stats/time_in_trip_ms
trip-1  0       0
The above line is confusing.
quoted
trip0   -10000  35188
trip1   25000   0
And the format violates the "one value per attribute" sysfs rule.
quoted
$ cat /sys//class/thermal/thermal_zone0/stats/time_in_trip_ms
trip-1  0       0
trip0   -10000  36901
trip1   25000   0
$ echo 25001 > /sys//class/thermal/thermal_zone0/emul_temp
$ cat /sys//class/thermal/thermal_zone0/stats/time_in_trip_ms
trip-1  0       0
trip0   -10000  47810
trip1   25000   2259
$ cat /sys//class/thermal/thermal_zone0/stats/time_in_trip_ms
trip-1  0       0
trip0   -10000  47810
trip1   25000   3224
$ echo 24001 > /sys//class/thermal/thermal_zone0/emul_temp
$ cat /sys//class/thermal/thermal_zone0/stats/time_in_trip_ms
trip-1  0       0
trip0   -10000  48960
trip1   25000   10080
$ cat /sys//class/thermal/thermal_zone0/stats/time_in_trip_ms
trip-1  0       0
trip0   -10000  49844
trip1   25000   10080

Cc: "Rafael J. Wysocki" <rafael@kernel.org> (supporter:THERMAL)
Cc: Daniel Lezcano <redacted> (supporter:THERMAL)
Cc: Amit Kucheria <amitk@kernel.org> (reviewer:THERMAL)
Cc: Zhang Rui <rui.zhang@intel.com> (reviewer:THERMAL)
Cc: Jonathan Corbet <corbet@lwn.net> (maintainer:DOCUMENTATION)
Cc: linux-pm@vger.kernel.org (open list:THERMAL)
Cc: linux-doc@vger.kernel.org (open list:DOCUMENTATION)
Cc: linux-kernel@vger.kernel.org (open list)

Signed-off-by: Eduardo Valentin <redacted>
---
 .../driver-api/thermal/sysfs-api.rst          |  2 +
 drivers/thermal/thermal_sysfs.c               | 86 +++++++++++++++++++
 2 files changed, 88 insertions(+)
diff --git a/Documentation/driver-api/thermal/sysfs-api.rst b/Documentation/driver-api/thermal/sysfs-api.rst
index ed5e6ba4e0d7..4a2b92a7488c 100644
--- a/Documentation/driver-api/thermal/sysfs-api.rst
+++ b/Documentation/driver-api/thermal/sysfs-api.rst
@@ -359,6 +359,8 @@ Thermal zone device sys I/F, created once it's registered::
     |---stats/reset_tz_stats:  Writes to this file resets the statistics.
     |---stats/max_gradient:    The maximum recorded dT/dt in uC/ms.
     |---stats/min_gradient:    The minimum recorded dT/dt in uC/ms.
+    |---stats/time_in_trip_ms: Time spent on each temperature interval of
+                               trip points.
I would write "in each temperature interval between consecutive trip points".
Ok
Doesn't this assume a specific temperature ordering of trip points?
And so what if they are not ordered?
It does. I believe other things will break if they are not ordered. Like the temperature update
against the governor throttle callback invocation in the thermal core.


-- 
All the best,
Eduardo Valentin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help