Re: [PATCH v3 0/5] Refactor thermal pressure update to avoid code duplication

From: Thara Gopinath
Date: Mon Nov 08 2021 - 09:11:43 EST




On 11/5/21 6:46 PM, Steev Klimaszewski wrote:

[snip]
Hi,

So IIUC the below logs correctly, you are never hitting boost frequency (with or without this patch series). Is that correct ?

w.r.t temperature , how are you measuring it? Do you have LMh enabled or are you using tsens to mitigate cpu temperature ?


Hi,

I was wrong - it does indeed go boost with the patchset applied, it's just that it doesn't boost up to 2.96GHz very often at all. As noted by the 0.03% when i ran it while compiling zellij; I reapplied the patches (and the 6th patch from Lukasz's email) and after boot, 2.96GHz was showing at 0.39%.

Most tools that read the cpu frequency don't really seem to be well suited for big.LITTLE, and seem to throw an average of the speed, so cpufreq-info was the best I have.  We're apparently supposed to be using cpupower these days, but it doesn't seem to know anything about arm64 devices.

Temperature wise, I'm just getting from the sensors, and I am using LMh.

Now, I have to admit, while I've thrown a patch here or there, I'm not exactly a kernel developer, just enough knowledge to be somewhat dangerous and know how to backport things.  In my mind, and my line of thinking, I would expect with boost enabled, that the cpu would boost up to that as often as possible, not require a specific workload to actually hit it.  But then again, I would expect multiple compilation jobs to be one of the workloads that would?

Hi Steev,

So this depends on the cpufreq governor you are using. By-default arm systems have sched-util governor enabled. This means you will scale up to boost depending on cpu load and not always. If you want to ensure you are always hitting boost frequency, you should enable performance governor for cpufreq and try.

Also since the defconfig has by default CPU_FREQ_STAT enabled, you should be able to get statistics out of cpufreq to see the time spent by a cpu in each frequency. I think cpufreq-info -s should give you this info. If not, you can explicitly get it for each cpu from

cat /sys/devices/system/cpu/cpu<X>/cpufreq/stats/time_in_state

Regarding temperature, if you have applied all the patches in the sdm845 LMh series and have LMh enabled, cpu throttling starts around 95 degree C.


So I think, the part about never hitting 2.96GHz can be dismissed, and was simply my lack of knowledge about the cpufreq-info tool's averages. It does seem however to rarely ever hit 2.96GHz and I would actually expect it to hit it far more often.


--
Warm Regards
Thara (She/Her/Hers)