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 <evalenti@xxxxxxxxxx> wrote: > > > > From: Eduardo Valentin <eduval@xxxxxxxxxx> > > > > 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. > > > trip0 -10000 35188 > > trip1 25000 0 > > And the format violates the "one value per attribute" sysfs rule. > > > $ 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@xxxxxxxxxx> (supporter:THERMAL) > > Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> (supporter:THERMAL) > > Cc: Amit Kucheria <amitk@xxxxxxxxxx> (reviewer:THERMAL) > > Cc: Zhang Rui <rui.zhang@xxxxxxxxx> (reviewer:THERMAL) > > Cc: Jonathan Corbet <corbet@xxxxxxx> (maintainer:DOCUMENTATION) > > Cc: linux-pm@xxxxxxxxxxxxxxx (open list:THERMAL) > > Cc: linux-doc@xxxxxxxxxxxxxxx (open list:DOCUMENTATION) > > Cc: linux-kernel@xxxxxxxxxxxxxxx (open list) > > > > Signed-off-by: Eduardo Valentin <eduval@xxxxxxxxxx> > > --- > > .../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