Re: [PATCH v1] thermal/core: change mm alloc method to avoid kernel warning
From: Daniel Lezcano
Date: Tue Apr 19 2022 - 13:56:47 EST
On 19/04/2022 15:54, Zhang Rui wrote:
CC Viresh.
On Tue, 2022-04-19 at 11:14 +0200, Daniel Lezcano wrote:
On 19/04/2022 10:48, Zhang Rui wrote:
On Sun, 2022-04-17 at 12:56 +0000, Junwen Wu wrote:
Very high cooling device max state value makes cooling device
stats
buffer allocation fails,like below.Using kzvalloc instead of
kzalloc
can avoid this issue.
When a cooling device has big max_state, this patch can get ride of
the
warning here, but still we end up with the read failure of the
trans_table in sysfs because it is larger than PAGE_SIZE.
$ cat /sys/class/thermal/cooling_device8/stats/trans_table
cat: /sys/class/thermal/cooling_device8/stats/trans_table: File too
large
IMO, unless we can fix both places, I'd suggest we skip allocating
and
creating the broken trans_table attr. Like a prototype patch below
Why not create a thermal debugfs with real useful information and
get
rid of this broken code ?
The idea looks good to me.
What about doing a percentile approach of the state indexes changes
instead of a raw matrix full of zeros ? So we show the most significant
transitions, perhaps something like:
99%: 7->6 6->7
98%: 6->5 5->6
95%: 5->4 4->5
90%: 7->5 5->7
80%: 6->4 4->6
70%: 7->1 7->2
50%: ... ...
total: 123456 124573
And another statistics file containing some timings information like the
total duration in mitigation, and the duration in the most significant
states above?
--
<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