Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

Dépêche éditée par

: Timers haute résolution et horloge dynamique.

Posté par Sébastien Koechlin (). Modéré le 30 juin 2006.
Thomas Gleixner et Ingo Molnar ont produit un patch pour le noyau Linux 2.6.17 qui apporte deux améliorations concernant l'horloge et les interruptions associés sur architecture x86 (y compris SMP) et prochainement sur x86_64, PPC et ARM.

La première amélioration concerne la précision de l'horloge, cette modification permet aux timers POSIX et à la fonction nanosleep() d'atteindre la précision offerte par le matériel, typiquement 1µs sur un PC classique, et ceci de manière totalement transparente. L'implémentation classique du noyau s'appuie sur la valeur de HZ, ce qui offre une précision médiocre de 1ms à 10 ms (1ms pour les noyaux compilés avec HZ=1000Hz)

La seconde amélioration appelée "tickless kernel" pourrait être traduite par "Noyau sans tic d'horloge" ou "sans métronome". Il est possible de choisir à la compilation un mode dans lequel il n'y a plus de signal d'horloge périodique, l'horloge est alors programmée à chaque fois en fonction de la prochaine interruption d'horloge nécessaire. S'il n'y a aucun besoin pendant 1,5 secondes, le processeur restera réellement en état IDLE pendant 1,5 secondes. D'après les développeurs, les interruptions d'horloge sont réduites à 1 ou 2 par seconde. L'implémentation actuelle du noyau fait qu'une interruption d'horloge arrive avec la périodicité définie à la compilation (100Hz, 250Hz ou 1000Hz) même lorsque cela n'est pas nécessaire.

Cette amélioration permet de réduire la consommation du processeur et de ce fait, réduire la chaleur dégagée et augmenter l'autonomie de la batterie dans le cas d'ordinateurs portables. En prime c'est une solution à un problème récent: certains utilisateurs des Core-Duo d'Intel, en particulier sur les MacBook d'Apple, se plaignent d'entendre les interruptions de l'horloge lorsque leur processeur est au repos (probablement à cause des pics de courant générés avec une fréquence audible et d'un couplage inductif), l'absence de ces interruptions devrait leur permettre de retrouver le silence.

> Lire la dépêche (20 commentaires, moyenne: 3,9).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

bravo pour la qualité de la dépêche

Posté par toctoc1 (page perso, ) le 30/06/2006 à 14:33. (lien). Évalué à 10.

Ben oui.. je ne sais pas si ça se fait, mais voilà une belle dépêche concise mais précise, alors bravo au contributeur.

supaire...

Posté par Francois Revol (page perso, ) le 30/06/2006 à 15:33. (lien). Évalué à 1.

c'est une très bonne idée... mais pas si nouvelle que ça :)

phénomène récent, ... ou pas

Posté par Guillaume Knispel () le 30/06/2006 à 15:46. (lien). Évalué à 5.

En prime c'est une solution à un problème récent: certains utilisateurs des Core-Duo d'Intel, en particulier sur les MacBook d'Apple, se plaignent d'entendre les interruptions de l'horloge lorsque leur processeur est au repos (probablement à cause des pics de courant générés avec une fréquence audible et d'un couplage inductif), l'absence de ces interruptions devrait leur permettre de retrouver le silence.

C'est pas un phénomène récent. J'ai un laptop qui à 3 ans avec un AMD qui doit tourner autour de 1.4GHz si mes souvenirs sont bon, et qui produit le même sifflement, vraissemblablement pour les mêmes raisons. Perso ça ne me gène pas mais je conçois que ça peut déranger certains.

Nouveau?? Comment çà marche?

Posté par cosmocat () le 30/06/2006 à 17:51. (lien). Évalué à 3.

La seconde amélioration appelée "tickless kernel" pourrait être traduite par "Noyau sans tic d'horloge" ou "sans métronome".
C'est nouveau ce truc là?
C'est la première implémentation ou certains SE le font déjà?

S'il n'y a aucun besoin pendant 1,5 secondes, le processeur restera réellement en état IDLE pendant 1,5 secondes.
Et comment on sait quand il n'y a aucun besoin?
On baisse la fréquence en fonction de la charge processeur, c'est çà?

Interessant en tout cas cette (très bien rédigée) info.

patch sur le patch

Posté par Raphaël Gertz (page perso, ) le 30/06/2006 à 22:04. (lien). Évalué à 4.

Si vous êtes un utilisateur du kernel 2.6.17.1 vous aurez peut-être besoin de la petite correction disponible a l'adresse suivante :
http://lkml.org/lkml/2006/6/25/58

En effet, sans cette petite correction vous aller essuyer un ennuieux :
WARNING: /lib/modules/2.6.17.1-1xxx/kernel/drivers/acpi/processor.ko needs unknown symbol hrtimer_restart_sched_tick
WARNING: /lib/modules/2.6.17.1-1xxx/kernel/drivers/acpi/processor.ko needs unknown symbol hrtimer_stop_sched_tick

Vala bonne chance ;)

Revenir en haut de page