Message ID | 20220805153834.2510142-1-daniel.lezcano@linaro.org |
---|---|
State | Accepted |
Commit | 9662756a9a1c34b3ee606dcddfda6a457f89b07f |
Headers | show |
Series | [1/5] thermal/core: Rearm the monitoring only one time | expand |
On Fri, Aug 5, 2022 at 5:38 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote: > > The current code calls monitor_thermal_zone() inside the > handle_thermal_trip() function. But this one is called in a loop for > each trip point which means the monitoring is rearmed several times > for nothing (assuming there could be several passive and active trip > points). > > Move the monitor_thermal_zone() function out of the > handle_thermal_trip() function and after the thermal trip loop, so the > timer will be disabled or rearmed one time. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Does this series depend on any other? You've been sending quite a lot of material lately and it is not always easy to tell what the dependencies between the different patch series are. > --- > drivers/thermal/thermal_core.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c > index b4c68410c158..4e1a83987b99 100644 > --- a/drivers/thermal/thermal_core.c > +++ b/drivers/thermal/thermal_core.c > @@ -383,11 +383,6 @@ static void handle_thermal_trip(struct thermal_zone_device *tz, int trip) > handle_critical_trips(tz, trip, trip_temp, type); > else > handle_non_critical_trips(tz, trip); > - /* > - * Alright, we handled this trip successfully. > - * So, start monitoring again. > - */ > - monitor_thermal_zone(tz); > } > > static void update_temperature(struct thermal_zone_device *tz) > @@ -503,6 +498,8 @@ void thermal_zone_device_update(struct thermal_zone_device *tz, > > for (count = 0; count < tz->num_trips; count++) > handle_thermal_trip(tz, count); > + > + monitor_thermal_zone(tz); > } > EXPORT_SYMBOL_GPL(thermal_zone_device_update); > > -- > 2.25.1 >
Hi Rafael, On 05/08/2022 18:29, Rafael J. Wysocki wrote: > On Fri, Aug 5, 2022 at 5:38 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote: >> >> The current code calls monitor_thermal_zone() inside the >> handle_thermal_trip() function. But this one is called in a loop for >> each trip point which means the monitoring is rearmed several times >> for nothing (assuming there could be several passive and active trip >> points). >> >> Move the monitor_thermal_zone() function out of the >> handle_thermal_trip() function and after the thermal trip loop, so the >> timer will be disabled or rearmed one time. >> >> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > > Does this series depend on any other? > > You've been sending quite a lot of material lately and it is not > always easy to tell what the dependencies between the different patch > series are. Yes I understand. This series does not depend on any other. It is not related to any pending changes. It may have trivial conflicts with the other 26 patches series but it would be the case for any submissions posted by someone else anyway.
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index b4c68410c158..4e1a83987b99 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -383,11 +383,6 @@ static void handle_thermal_trip(struct thermal_zone_device *tz, int trip) handle_critical_trips(tz, trip, trip_temp, type); else handle_non_critical_trips(tz, trip); - /* - * Alright, we handled this trip successfully. - * So, start monitoring again. - */ - monitor_thermal_zone(tz); } static void update_temperature(struct thermal_zone_device *tz) @@ -503,6 +498,8 @@ void thermal_zone_device_update(struct thermal_zone_device *tz, for (count = 0; count < tz->num_trips; count++) handle_thermal_trip(tz, count); + + monitor_thermal_zone(tz); } EXPORT_SYMBOL_GPL(thermal_zone_device_update);
The current code calls monitor_thermal_zone() inside the handle_thermal_trip() function. But this one is called in a loop for each trip point which means the monitoring is rearmed several times for nothing (assuming there could be several passive and active trip points). Move the monitor_thermal_zone() function out of the handle_thermal_trip() function and after the thermal trip loop, so the timer will be disabled or rearmed one time. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/thermal/thermal_core.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)