Limit the CPU frequency


#1

Hi,

I am using Linaro 16.09 release in one of our custom boards based on 410, Is there any way using which i can limit the upper and lower cpu frequencies?
I tried setting userspace governer and also tried to set the upper and lower frequencies, but when i give stress to the board using stressapp utility, the cpu frequency goes below the set lower frequency.

So can somebody point me if i am doing something wrong or point me any other way to limit the cpu frequency?

Thanks.


#2

there are some failsafe that can’t be changes, if you are stressing the cpu and the frequency is decreasing it’s probably because it’s getting too hot and it wants to prevent itself from melting.


#3

Hi Ric,

Thanks for the reply,
I agree with you, but there is possibility that instead of decreasing the frequency it can shutdown one of the core or and in order to prevent it from any damage reboot the board once all cores are running at the set lower frequency and still we keep giving stress.

And the scenario i am trying to replicate is for testing purpose.
So is there any way i can limit it?


#4

I’m not sure specifically for the db 410c cpu but generally this is very low level stuff and handled by the bootloader provided by the soc manufacturer and generally not open-source. It can be controlled only if the bootloader allows linux to do it which is very rare.


#5

I don’t think that it is apart of any boot loader. frequency scaling is generally enveloped in DTB. Step wise frequency deterioration is the implemented to avoid overheating of the cores. Precisely speaking the source files are present under the /arch and the relevant architecture hierarchy of the kernel source and are completely open source. In these files I think you can change the threshold temperature at which the frequency throttling/scaling happens.
KTM modules generally takes cares of the temperature sensors of the cores.