debugging sluggish CPU frequency transitions

Timothy Redmond tredmond59 at yahoo.com
Sun Nov 23 18:49:36 UTC 2014


>
> However sometimes the computer takes a very long time (20 seconds to 
> -- I think -- 15 minutes or more) to react to a change in the load. I 
> have run commands like "stress --cpu 1" or "stress --cpu 8" and 
> watched i7z.  When the governor is powersave it may stay at 800MHz and 
> when the governor is performance it may stay between 1000MHz to 
> 1400MHz.  If I leave the stress running long enough it seems like 
> eventually the frequency will go up to the expected values.  Once the 
> CPU frequency goes up I can keep it up by leaving the stress running 
> and my applications are responsive.  If I kill the stress process, the 
> system may or may not respond quickly to changes in load. 

I thought that I would give my current best work-around to this problem 
for any future googler who has the same problem. This solution is 
looking like it is good enough to keep.  It is based on experimentation 
without any understanding of the underlying mechanics.

I have put the lines

    for i in 0 1 2 3 4 5
    do
        /usr/bin/cpupower -c 6 idle-set --disable $i
    done
    /usr/bin/cpupower frequency-set -g powersave

into my rc.local script.  I have noticed before that disabling idle 
states seems to mean that once the cpu frequency becomes responsive to 
cpu load it remains responsive to cpu load.  But without the "-c 6" the 
machine ran somewhat hot whereas with the "-c 6" the machine seems to 
cool down pretty well when it is idle.  I don't think that the powersave 
line is necessary because I think that powersave is the default.  I am 
wondering if "-c 0" would be better but I will experiment with that later.

I also have some other lines in my rc.local suggested by powertop but I 
don't think that these lines are making any difference to my problem:

    #
    # disable nmi watchdog (powertop)
    #
    echo '0' > /proc/sys/kernel/nmi_watchdog

    #
    # VM writeback timeout
    #
    echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs'


-Timothy


On 11/12/2014 07:52 PM, Timothy Redmond wrote:
>
> I have a Thinkpad W520 computer (4270CTO) and I am running Fedora 20 
> and keeping its packages up to date.  Often when I am working the cpu 
> frequency transitions beautifully and the computer is very responsive. 
> I have run some programs that take a long time (hours to days) and 
> have watched the frequency go up when there is only one thread running 
> and go down when there are several threads running. So it seems to be 
> working very nicely.
>
> However sometimes the computer takes a very long time (20 seconds to 
> -- I think -- 15 minutes or more) to react to a change in the load. I 
> have run commands like "stress --cpu 1" or "stress --cpu 8" and 
> watched i7z.  When the governor is powersave it may stay at 800MHz and 
> when the governor is performance it may stay between 1000MHz to 
> 1400MHz.  If I leave the stress running long enough it seems like 
> eventually the frequency will go up to the expected values.  Once the 
> CPU frequency goes up I can keep it up by leaving the stress running 
> and my applications are responsive.  If I kill the stress process, the 
> system may or may not respond quickly to changes in load.
>
> There is some googleable discussion about the BIOS limiting the 
> frequency for Thinkpads. However, the value in
>
>      /sys/module/processor/parameters/ignore_ppc
>
>
> does not seem to matter though and the file
>
>      /sys/devices/system/cpu/cpu0/cpufreq/bios_limit
>
>
> is never present.  Also the system will respond when I change the 
> governor from performance to powersave and back which does not seem 
> consistent with a limit provided by the BIOS.
>
> Does anyone know what could be wrong or how I can debug this?
>
> -Timothy
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fedoraproject.org/pipermail/users/attachments/20141123/2a5d28b3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5372 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.fedoraproject.org/pipermail/users/attachments/20141123/2a5d28b3/attachment.p7s>


More information about the users mailing list