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". Doesn't this assume a specific temperature ordering of trip points? And so what if they are not ordered?