Re: [PATCH 3/3] thermal/sysfs: Remove cooling device sysfs statistics

From: Daniel Lezcano
Date: Tue Jun 28 2022 - 11:26:17 EST


On 24/06/2022 08:02, Wei Wang wrote:
On Fri, Jun 3, 2022 at 4:04 AM Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote:


Hi Todd,

[adding Wei]

On 02/06/2022 21:02, Todd Kjos wrote:
On Thu, Jun 2, 2022 at 2:16 AM Lukasz Luba <lukasz.luba@xxxxxxx> wrote:

[ ... ]

I see, it makes sense. Let's see if Todd and Android folks don't
use this thermal sysfs stats, so we could remove them.

Android HALs do use the thermal sysfs stats. debugfs isn't a viable
replacement since debugfs must not be mounted during normal operation.

Thanks for your answer.

I'm curious, what is the purpose of getting the statistics, especially
the transitions stats from normal operation?

There were some complains about systems having a high number of cooling
devices with a lot of states. The state transitions are represented as a
matrix and result in up to hundred of megabytes of memory wasted.

Moreover, sysfs being limited a page size, the output is often truncated.

As it is automatically enabled for GKI, this waste of memory which is
not negligible for system with low memory can not be avoided.

I went through the thermal HAL but did not find an usage of these
statistics, do you have a pointer to the code using them ?

Thanks

-- Daniel



Sorry for the late reply, trying to catch up on emails after sick
recovery. We use it for stats collection to understand thermal
residency, and it is not in the HAL code, we don't use the transition
table heavily though. Are some of the devices having too many cooling
devices? Can we have a config to enable stats for a given cooling
device?


The stats table is bogus. As soon as the combination of the states leads to a size greater than a page size, then the result is truncated.

As the cooling devices is also abused to mimic power capping capable device, we are ending up to 1024 states sometimes.

Moreover, having the option set also create tables which take MB of memory for nothing.

The option only enables the stats for all the cooling device stats.

As you mentioned, it seems to you are using the stats for debugging purpose. The debugfs provides the same information, except it does only show the transitions would actually happened and we are no longer limited to a page size.

Would it be acceptable to remove the sysfs stats ?



--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog