web-dev-qa-db-fra.com

Pourquoi les statistiques de synchronisation de fréquence CPU sont-elles toutes nulles?

Les statistiques de synchronisation cpufreq sont toutes des zéros:

$ sort --unique /sys/devices/system/cpu/cpu*/cpufreq/stats/time_in_state | column
1600000 0       2100000 0       2600000 0       3100000 0
1700000 0       2200000 0       2800000 0       3300000 0
1900000 0       2400000 0       2900000 0       3400000 0
2000000 0       2500000 0       3000000 0       3401000 0

Comment est-ce possible? N'y a-t-il vraiment pas de temps passé dans aucun État?

Détails

  • /proc/cpuinfo
  • Les CPU sont clairement en transition entre les états de fréquence:

    $ grep --Perl-regexp --only-matching '(?<=cpu MHz\t\t: )[\d.]+' /proc/cpuinfo | column
    1600.000        1600.000        3401.000        1600.000
    2900.000        1600.000        2100.000        1600.000
    $ while sleep 10; do column /sys/devices/system/cpu/cpu*/cpufreq/stats/total_trans; done
    17839   17278   17497   17336   12332   14358   14054   17647
    17885   17313   17545   17384   12359   14394   14082   17691
    17888   17323   17556   17391   12359   14399   14085   17693
    17904   17336   17576   17417   12374   14402   14091   17696
    
  • Quelqu'un d'autre demandé à ce sujet sur un forum mais n'a jamais reçu de réponse.

6
ændrük

Il y a un problème à ce sujet dans le noyau Linux 3.11. Le bug a été corrigé avec le patch suivant:

http://permalink.gmane.org/gmane.linux.kernel.cpufreq/11672%3E

https://lkml.org/lkml/2013/9/7/126

La mise à niveau de votre noyau (vers 3.12-rc1 ou supérieur) devrait résoudre le problème.

4
mas_kur1