Message ID | 20210422114308.29684-1-lukasz.luba@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | Improve IPA mechanisms in low temperature state | expand |
On 22/04/2021 13:43, Lukasz Luba wrote: > Hi all, > > This v4 patch set aims to address the issues present in IPA when the > temperature is below the first trip point and cooling devices are not > throttled. > The last patch 1/3 is co-developed by Daniel, who presented the code > during v2 review. I have created a helper function based on his idea, > which can now be used inside IPA governor lock protected code. > The patch 2/3 adds a basic check of cooling devices power to keep the > internal statistics fresh. This allows to avoid issue when the statistics > cover very long period, because they were not maintained. > The patch 3/3 addresses an issue described in bugzilla [1], which is: > unnecessary updating cooling devices when their state has not changed > because they are not throttled. This update triggers sending an event, > which should be avoided. Thus, patch 2/3 adds a tracking mechanism if > the update was triggered and makes sure it will be done only once when > the temperature continue to stay below first trip point. > > changelog: > v4: > - reordered the patches, patch 3/3 from v3 is now 1/3 > v3: > - new patch 3/3 co-developed with Daniel > v2: > - patch 2/2 uses now simple 'update' bool flag and information from > 'tz->last_temperature' > - patch 1/2 has small change in the comment > - re-based on top of today's thermal/next branch > > Regards, > Lukasz Luba > > [1] https://bugzilla.kernel.org/show_bug.cgi?id=212501 > > Lukasz Luba (3): > thermal: create a helper __thermal_cdev_update() without a lock > thermal: power_allocator: maintain the device statistics from going > stale > thermal: power_allocator: update once cooling devices when temp is low > > drivers/thermal/gov_power_allocator.c | 21 +++++++++++++++++---- > drivers/thermal/thermal_core.h | 1 + > drivers/thermal/thermal_helpers.c | 27 +++++++++++++++++---------- > 3 files changed, 35 insertions(+), 14 deletions(-) Applied, thanks
On 4/22/21 6:30 PM, Daniel Lezcano wrote: > On 22/04/2021 13:43, Lukasz Luba wrote: >> Hi all, >> >> This v4 patch set aims to address the issues present in IPA when the >> temperature is below the first trip point and cooling devices are not >> throttled. >> The last patch 1/3 is co-developed by Daniel, who presented the code >> during v2 review. I have created a helper function based on his idea, >> which can now be used inside IPA governor lock protected code. >> The patch 2/3 adds a basic check of cooling devices power to keep the >> internal statistics fresh. This allows to avoid issue when the statistics >> cover very long period, because they were not maintained. >> The patch 3/3 addresses an issue described in bugzilla [1], which is: >> unnecessary updating cooling devices when their state has not changed >> because they are not throttled. This update triggers sending an event, >> which should be avoided. Thus, patch 2/3 adds a tracking mechanism if >> the update was triggered and makes sure it will be done only once when >> the temperature continue to stay below first trip point. >> >> changelog: >> v4: >> - reordered the patches, patch 3/3 from v3 is now 1/3 >> v3: >> - new patch 3/3 co-developed with Daniel >> v2: >> - patch 2/2 uses now simple 'update' bool flag and information from >> 'tz->last_temperature' >> - patch 1/2 has small change in the comment >> - re-based on top of today's thermal/next branch >> >> Regards, >> Lukasz Luba >> >> [1] https://bugzilla.kernel.org/show_bug.cgi?id=212501 >> >> Lukasz Luba (3): >> thermal: create a helper __thermal_cdev_update() without a lock >> thermal: power_allocator: maintain the device statistics from going >> stale >> thermal: power_allocator: update once cooling devices when temp is low >> >> drivers/thermal/gov_power_allocator.c | 21 +++++++++++++++++---- >> drivers/thermal/thermal_core.h | 1 + >> drivers/thermal/thermal_helpers.c | 27 +++++++++++++++++---------- >> 3 files changed, 35 insertions(+), 14 deletions(-) > > Applied, thanks > > Thank you Daniel! Regards, Lukasz