Flyounet : (Digital|Real)? life

Une sorte de journal quotidien, mais en vachement plus espacé dans le temps

Où il est question de Governor (Linux), d'Electrolysis (Firefox) et de vieux matériel

Rédigé le .

Pour aller bosser je prends le train, et pour faire du développement à l'aise, j'utilise une machine qui tient bien la route: un MSI U135 (un Atom N450 de 2009) dont l'autonomie est d'environ 4h30 (5h30 si je réduis la luminosité). Bref, cette bête de course est largement inférieure à mon Asus N53S (I7-2630QM de 2011), dont l'autonomie dépasse rarement le temps de la course entre deux prises électriques.

Et la nuit dernière sur cet Asus, j'ai décidé de faire un apt-get dist-upgrade (ou plutôt un do-release-upgrade puisque c'est une Xubuntu). Idée généreuse, mais réveil brutal: le CPU Fan tourne, mais en version soufflerie...

Forcément Firefox qui n'utilise qu'un seul processeur (on oublie pas, le 2630QM, c'est un quad-core hyperthreadé), avec un governor en powersave a décidé que 800MHz pour 400 et quelques (en fait 235+168) onglets c'était pas assez. Et donc qui dit utilisation processeur, dit utilisation ventilateur, dit bruit, chaleur, énervement... Et donc recherche sur Internet, d'où plus d'onglets, de mémoire, de CPU, de ventilo...

Touche pas mon Governor

Donc après avoir dégainé quelques onglets supplémentaires, je me mets à regarder du côté du Governor de chaque CPU : powersave. Ça semble pas mal à la base, sauf que je suis branché sur le courant.

root@Blenno:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
2000000

C'est moche, tout est bloqué sur 2GHz. Je ne m'avoue pas vaincu, passons le Governor en userspace et après on règle tout ça. Pour être bien sûr, je vérifie ce que je peux faire :

root@Blenno:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
powersave performance

Mais, c'est quoi ce bordel ?! Et avec un cpu* à la place du cpu0, c'est pareil partout...
Donc à part dans mon cul, il est où mon ondemand et mon userspace. Heureusement, StackExchange est là pour moi : modifier /etc/default/grub et jouter à la ligne GRUB_CMDLINE_LINUX : intel_pstate=disable
Et bien sûr un petit update-grub en root (sur une *buntu je le rappelle).

Et donc après un court reboot, me voici avec :

root@Blenno:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance

Rhaâa à moi la joie du silence, je mets tout le monde en userspace: echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor et dans la foulée: cpufreq-set -f 800MHz -c 0 (on le fait pas juste pour cpu0... cpufreq-info vous dira tout ce que vous voulez savoir).
AU bout d'une à deux minutes, le ventilateur a commencé à fermer sa gueule. De 60 et quelques degrés Celsius, je suis descendu à:

root@Blenno:~$ acpi -V | grep degree
Thermal 0: ok, 56.0 degrees C

Pour ceux qui n'ont rien à faire, dans un terminal tapez ceci lorsque vous n'êtes pas en userspace avec une valeur fixée:

root@Blenno:~# while true; do date;LANG=C cpufreq-info | awk '/analyzing CPU/ { a=$0;} /The governor / {b=$3;} /current CPU/ {print a,b,$0}'; sleep 1;done
dimanche 6 décembre 2015, 22:54:53 (UTC+0100)
analyzing CPU 0: "userspace"   current CPU frequency is 800 MHz (asserted by call to hardware).
analyzing CPU 1: "userspace"   current CPU frequency is 800 MHz (asserted by call to hardware).
analyzing CPU 2: "userspace"   current CPU frequency is 800 MHz (asserted by call to hardware).
analyzing CPU 3: "userspace"   current CPU frequency is 800 MHz (asserted by call to hardware).
analyzing CPU 4: "userspace"   current CPU frequency is 800 MHz (asserted by call to hardware).
analyzing CPU 5: "userspace"   current CPU frequency is 800 MHz (asserted by call to hardware).
analyzing CPU 6: "userspace"   current CPU frequency is 800 MHz (asserted by call to hardware).
analyzing CPU 7: "userspace"   current CPU frequency is 800 MHz (asserted by call to hardware).

Petit rappel: les commandes cpufreq-* viennent du paquet cpufrequtils.

Il faut avouer que suite à cela mon Firefox est comment dire ... mou du cul (comme une vieille peau, bien enrobée, et luisante de crème solaire, allongée sur une serviette sur la plage). D'où mon deuxième point (que j'ai découvert à cause du governor):

Electrolysis ! Faut venir maintenant, et vite

Je ne suis pas le seul à m'en être rendu compte (ou alors c'est que vous êtes une des vieilles citées ci-dessus qui a fini par se déssecher malgré l'abondante couche de graisse), mais Firefox est un poid lourd en terme de fonctionnalités. Cependant, c'est un poid mort en terme de légèreté. Légèreté d'autant plus absente que le navigateur, est, certes, multithreadé mais pas multiprocesseur.

Alors, c'est quoi le rapport ?! Et bien le rapport c'est e10s (ou Electrolysis) qui devrait sortir courant 2016. SI ça marche correctement, je pourrais laisser mon CPU frequency à 800MHz.

Ah au fait pour ceux qui testent les nightly, je vous conseille de vérifier : Are your add-ons e10s compatible ?.