Re: [RFC] why do sensors break CPU scaling

From: David Niklas
Date: Fri Nov 22 2019 - 11:21:27 EST


On Wed, 20 Nov 2019 21:42:12 +0100
Tom Psyborg <pozega.tomislav@xxxxxxxxx> wrote:
> Hi
>
> Recently I've needed to set lowest CPU scaling profile, running ubuntu
> 16.04.06 I used standard approach - echoing powersave to
> /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor.
> This did not work as the
> /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq kept returning
> max scaling freq.
>
> During testing of ubuntu 19.10 I've found that the above approach
> actually does work, but as long as there are no xsensors (or just
> sensors from cli) being run.
> cpuinfo_cur_freq in this case was returning variable values +- 1% of
> around 1.4GHz.
> As soon as I issue sensors command cpuinfo_cur_freq jumps to 3.5GHz
> for a fraction of second and returns back to 1.4GHz afterwards. If
> running xsensors it keeps bouncing between 1.4 and 3.5GHz all the
> time.
>
> Rebooted back to 16.04.6 and was able to set lowest CPU scaling freq
> as well, but issuing sensors command here once just breaks CPU scaling
> that now remains at about 3.5GHz.
> It can be set to lowest scaling freq again without rebooting but it
> needs to change scaling_governor for all cores to something else and
> then back to powersave.
>
> Why is this happening, shouldn't sensors command just read temp/fan
> values without writing to any of the CPU control registers?

I don't know if the maintainers will notice your email, but I did. I
don't guarantee that they'll notice or help you, but this should assist
you in writing a proper question.
You need to include the output of uname -a on both ubuntu boxes. The
output of:
dpkg -l xsensors
dpkg -l lm-sensors

The information on which processor you own and the motherboard and
it's BIOS version just in case.

This is just my understanding and it might be wrong, but the CPU is
probably accessed to do the request to the fan values and so it ramps up
expecting to have to deal with a more intense workload (which is exactly
what Ryzen and several newer Intel processors are supposed to do), and so
you're seeing expected behavior.
I've no idea how you'd change this.
Alternatively, and this is just a theory, you could have some program on
the system changing the behavior of the CPU just after you change it to
what you want it to be. As in, inotify is involved.

You're welcome,
David

-------------------------------------------------
This free account was provided by VFEmail.net - report spam to abuse@xxxxxxxxxxx

ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of the NSA's hands!
$24.95 ONETIME Lifetime accounts with Privacy Features!
15GB disk! No bandwidth quotas!
Commercial and Bulk Mail Options!