Liens connexes

Dépêche modérée par

Dépêche éditée par

: Sortie du noyau Linux 2.6.22

Posté par patrick_g (page perso, ). Modéré le 09 juillet 2007.
0
La dernière version du noyau Linux stable est téléchargeable sur les serveurs du site kernel.org. Cette version 2.6.22 a suivi le processus normal et maintenant archi-classique des release candidate :
  • La version RC-1 est apparue juste quinze jours après la sortie du noyau stable précédent. Linus a reconnu que le noyau 2.6.21 avait connu une gestation difficile et il espère que cette RC-1 annonce un progrès sur ce plan (traduction libre): «Je pense (et j'espère) que cela ne va pas être aussi douloureux que les gros changements du code des timers du noyau 2.6.21. Bien qu'il y ait ici aussi des changements importants (...) cela semble assez solide.»

  • La version RC-2 a continué sur cette voie d'une version solide et bien debuggée et Linus a rappelé la règle qui interdit d'ajouter des nouvelles fonctions à ce stade du développement (traduction libre): «N'essayez même pas d'envoyer autre chose que des corrections de bugs ! Je pense que la situation actuelle semble raisonnablement bonne pour le noyau 2.6.22.»

  • La sortie de la version RC-3 le 25 mai a donné l'occasion à Linus d'écrire un de ses petits bijoux humoristiques dont il a le secret. Il a lancé un appel pour que les gens téléchargent et testent cette RC-3 au lieu d'aller à la plage (traduction libre): «Nous sommes vendredi soir et les USA se préparent à un long week-end de trois jours, souvent considéré ici comme le début officiel de l'été. Donc que peut faire un nerd blanc comme un bidet ? Vous ne pouvez pas aller à la plage parce que les gens normaux vont rigoler en vous voyant et vont vous jeter du sable à la figure. Mais vous _pouvez_ faire quelque chose : vous pouvez télécharger le dernier noyau RC-3 et sourire d'un air suffisant en sachant que vous faites tourner la toute dernière merveille sur votre machine. Et tout d'un coup, cela n'a plus d'importance que ce soit l'été parce que vous pouvez rester dans votre sous-sol aux stores fermés à vous faire bronzer à la chaude lumière de votre écran LCD plutôt qu'à la dure lumière du jour. Donc ne vous inquiétez plus de ces dangereux rayons ultra-violets et prenez votre vitamine D sous la forme prévue par Dieu (et l'industrie pharmaceutique) : des petites pilules facilement avalables. Les plages sont très surfaites de toute manière, le sable s'introduit dans le ventilateur des ordinateurs portables et en un clin d'oeil plus rien ne fonctionne.
    Puissiez vous avoir un bel été.
    »

  • La version RC-4 s'est contentée de corriger divers bugs et régressions et, dix jours plus tard, Linus s'est félicité d'avoir trouvé le temps de sortir la RC-5 en dépit de la monstrueuse flame-war GPLv2/GPLv3 ayant eu lieu sur la liste de diffusion.
  • Le 24 juin est apparue la -RC6 et le premier juillet la -RC7 qui semble satisfaire Linus (traduction libre): «Nous devrions être dans une très bonne situation. Le flot des patchs a vraiment ralenti et la liste de régression s'est beaucoup réduite.»

  • Enfin la version finale a été annoncée le dimanche 8 juillet et Linus s'est interrogé dans son courriel pour savoir si il était vraiment nécessaire de publier une liste complète des changements (un gros fichier de plus d'une centaine de milliers de lignes) alors que presque tout le monde utilise directement le gestionnaire de code source Git pour consulter cette liste. C'est donc sans doute la dernière fois que ce fichier récapitulatif des changements (changelog) sera publié séparément.

> Lire la suite (84 commentaires, moyenne: 4,3).   [dépêche : 14696 caractères]



Si on se tourne vers le futur pour deviner ce que contiendront les versions à venir du noyau on peut regarder du coté d'utrace. C'est un remplaçant du système ptrace qui garde la même interface pour les programmes en espace utilisateur mais qui propose des fonctions bien plus riches). Ces divers outils de tracing fournissent au processus parent un moyen de contrôler l'exécution d'un autre processus afin de faciliter le débogage (cet article détaillé fait le point sur les outils de tracing pour Linux).
Le travail sur le système de fichier de nouvelle génération Ext4 se poursuit et la liste des nouvelles fonctionnalités est alléchante (voir aussi ce fichier pdf issu du symposium Linux d'Ottawa).
Le patch permettant d'implémenter la fonction de lecture spéculative à la demande (On-demand readahead) continue sa maturation. Cette fonction de lecture spéculative, qui existe depuis longtemps, autorise le chargement à l'avance du contenu d'un fichier que le noyau est en train de lire afin de pouvoir fournir les données plus rapidement aux applications. La nouveauté de ce patch réside bien entendu dans le "à la demande" qui permet d'avoir un code plus simple et plus flexible (ici aussi un papier du symposium Linux est disponible).
Le système de fichier spécialisé dans la mémoire Flash (LogFS) est également développé très activement dans la perspective de l'explosion imminente des disques durs de type SSD. LogFS est basé sur l'idée que les systèmes de fichiers classiques sont conçus principalement pour des disques magnétiques alors que les disques flash ne nécessitent pas tout le code extrêmement complexe qui tente d'éviter la fragmentation des fichiers. L'approche suivie est donc basée sur une écriture séquentielle des données (log-structured approach) qui, et c'est ce qui constitue la grande différence avec JFFS2, ne nécessite pas de scan complet du volume au montage. Comme un système classique toute la structure est donc gardée en mémoire directement dans le disque ce qui accélère considérablement le mount (sur un système OLPC on passe de 3,3 secondes sous JFFS2 à 60 millisecondes avec LogFS).
Enfin le nouvel ordonnanceur CFS d'Ingo Molnar (évoqué lors de la dépêche sur le noyau 2.6.21) en est à sa dix-neuvième version et le temps de l'inclusion dans la branche principale approche à grands pas !

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 !

Posté par liberforce (Jabber id, page perso, ) le 09/07/2007 à 08:01. (lien). Évalué à 10.

News très claire et très bien rédigée, il fallait bien ça vu les nouveautés dont regorge à chaque version le noyau !

Merci !

Posté par Neilink () le 09/07/2007 à 08:09. (lien). Évalué à 10.

Merci beaucoup pour cet article, c'est toujours aussi passionnant de suivre l'évolution du noyau :)

Merci

Posté par polytan () le 09/07/2007 à 08:11. (lien). Évalué à 9.

Merci beaucoup pour cette dépêche aussi riche et complète !

erreur lien

Posté par Noël Dubray (page perso, ) le 09/07/2007 à 08:26. (lien). Évalué à 1.

le lien correspondant au texte "802.11g" mene à de la voix sur IP. Je propose http://fr.wikipedia.org/wiki/802.11 à la place, ou la page en anglais qui est plus complète http://en.wikipedia.org/wiki/802.11 .

Fast forward

Posté par patrick_g (page perso, ) le 09/07/2007 à 08:30. (lien). Évalué à 10.

>>> Comme il en a pris l'habitude le site Linux Weekly News propose un article faisant le bilan complet sur les contributeurs de cette version.

A propos d'analyse du développement de Linux il y a un article extrêmement intéressant parmi ceux du dernier symposium => https://ols2006.108.redhat.com/2007/Reprints/kroah-hartman-R(...)
Le kernel hacker Greg Kroah-Hartman s'est servi du logiciel développé par Linux Weekly News (gitdm) pour analyser statistiquement les évolutions du noyau sur une période de près de deux ans et demi (du kernel 2.6.11 au kernel 2.6.21).
Je vous invite à lire cet article car il est bourré d'informations passionnantes.
Juste à titre d'exemple :

Entre la release du noyau 2.6.11 et celle du 2.6.21 il s'est écoulé 852 jours. Sur cette période le diff en nombre de patchs est de 59164. Une simple division donne donc le chiffre ahurissant de 2.89 patchs par heure pendant deux ans et demi (24 heures sur 24 et sept jours sur sept) !
En nombre de ligne de code c'est plus de 85 lignes de code noyau par heure pendant deux ans et demi...simplement hallucinant.

Mode optimiste on/
Et après on se demande pourquoi Microsoft ne peux pas suivre le rythme !
Mode optimiste off/

La même rengaine...

Posté par Janfi (page perso, ) le 09/07/2007 à 08:35. (lien). Évalué à 4.

Merci pour ce récapitulatif très clair qui met à la portée du plus grand nombre la compréhension des changements dans cette nouvelle version.

Concernant l'intégration de la couche wifi devicescape, est-ce que cela signifie que pour les réseaux en WPA par exemple il ne sera plus nécessaire d'utiliser wpa_supplicant, fichiers de conf à la main et consorts ? On pourra enfin se connecter en entrant "simplement" la passphrase ?

Merci...

Fin de la branche CK

Posté par paul () le 09/07/2007 à 08:46. (lien). Évalué à 10.

Avant tout, bravo pour ce récapitulatif comme d'habitude d'excellente qualité sur le fond comme sur la forme.
Comme tu l'as relevé, la concurrence est rude pour l'inclusion dans la sacro-sainte branche vanilla. Et cette concurrence, dont chacun appréciera à sa façon la loyauté, aura provoqué indirectement le départ de Con Kolivas, auteur de la branche CK. Depuis des années, les patchs les plus innovant en matière d'ordonnancement, d'allocation, et de performance en général trouvent leurs chemin en premier lieu dans la branche de Con Kolivas. Ce dernier, après avoir mis au point un ordonnanceur particulièrement intéressant, a souhaité une inclusion dans la branche Vanilla. La sagesse prévalant, la discussion sur les atouts indéniables des concepts du Staircase Deadline a été longue [1]. Ingo Molnar, le développeur préposé depuis longtemps à l'ordonnancement dans la branche de linus, a développé son propre ordonnanceur, le CFS, principalement basé sur SD, et a reçu les faveurs de linus. Ensuite, CK s'est entendu dire que ce serait une duplication d'effort de maintenir 2 ordonnanceurs équivalents, donc que SD n'avait pas vraiment sa place dans le vanilla vu que CFS va y rentrer [2].
Con Kolivas, ayant trouvé que c'était quand même un peu gros, et pensant que la concurrence logicielle ne justifie pas le manque de considération pour les individus, a décidé de tirer sa révérence définitivement. Son patchset pour ce noyau 2.6.22 sera donc le dernier [3]. Merci pour tous ses apports logiciels et pour toutes ses idées, mais surtout, merci à lui pour son engagement et son temps passé sur linux.

[1] http://linuxfr.org/comments/825903.html#825903
[2] http://news.gmane.org/gmane.linux.kernel.ck
[3] http://members.optusnet.com.au/ckolivas/kernel/

--
paul

Regressions et mac80211

Posté par herodiade () le 09/07/2007 à 09:26. (lien). Évalué à 10.

Maintenant que la liste des régression connues est maintenue sur un site web, ce serait bien d'inclure le lien dans les dépêches relatives à la sortie de nouvelles versions du noyau : http://kernelnewbies.org/known_regressions

Quelques précisions et compléments d'informations, en vrac :
* Puisqu'on parle de la liste des régressions. Adrian Bunk maintenait une telle liste durant les derniers mois, qu'il postait chaque semaine sur LKML. Fâché de l'insuccès de son travail (il considère que le 2.6.21 n'aurait pas du sortir en l'état), Bunk a décidé d'abandonner cette tache ingrate, au grand dam des autres développeurs (y compris de Linus) (cf. http://kerneltrap.org/node/8110 ). À cette occasion Google a rappelé qu'ils cherchent à embaucher un « bug master » pour le noyau Linux. Finalement Michal Piotrowski a pris les choses en main et maintient une liste des régression dans un wiki (à l'adresse citée plus haut).

* La nouvelle couche Wi-Fi (<- ça s'écrit comme ceci en fait) s'appelle mac80211 (ou encore d80211). Outres les fonctionnalités citées dans la dépêche, elle mutualise une implémentation MAC logicielle commune pour les divers pilotes, souvent nécessaire avec les chipsets modernes et sots, dits « softmac ». Son intégration dans le noyau standard a parait-il permis de la stabiliser, et simplifiera grandement l'intégration des pilotes récents (nombreux sont ceux qui l'utilisait déjà auparavant, bien qu'elle n'était pas incluse dans le noyau), comme iwlwifi (Intel 4965AGN), les pilotes ralink rt2x00, le nouveau pilote pour le chipset Marvel Libertas, le Broadcom bcm43xx, et bien d'autres. L'ancienne couche Wi-Fi (qui s'appelle ieee80211) est conservée dans le noyau (de nombreux « vieux » pilotes l'utilisent). La perspective d'une telle cohabitation - et du travail de maintenance qui s'en trouve doublé - fut la cause de nombreux débats sur les listes de diffusion. Remarquez aussi que l'API de configuration WEXT du ieee80211 est rendue obsolète par le nouveau mécanisme nommé cfg80211, basé sur netlink (API nl80211). Une couche de compatibilité est toutefois maintenue (avec l'aide, si je me souviens bien, d'une bibliothèque en espace utilisateur).

* La nouvelle couche FireWire (<- ça s'écrit ainsi) est certes plus dense (moins de lignes de codes) mais n'est pas tout à fait complète encore. Par exemple l'eth1394 (émulation ethernet sur FireWire) n'est pas encore porté, si vous utilisez cette fonctionnalité, attendez encore un peu.

Support de Blackfin

Posté par Boa Treize (page perso, ) le 09/07/2007 à 09:53. (lien). Évalué à 3.

Intéressant ça. C'est l'architecture des Livebox Sagem, je crois. À quand un OS 100% libre dans une Livebox ? :-)

Merci

Posté par chaica () le 09/07/2007 à 10:13. (lien). Évalué à 2.

Merci pour cette news claire et complète.

Qu'est-ce que « eventfd » ?

Posté par Laurent A. () le 09/07/2007 à 19:34. (lien). Évalué à 2.

Je ne comprends pas bien ce qu'est censé faire cette nouvelle interface. A-t'elle un rapport avec Inotify ? J'ai l'impression que non mais je vois aussi que ça parle d'évènements d'I/O sur des fichiers...
Si ces deux interfaces n'ont aucun rapport entre elles, est-ce que quelqu'un sait si des améliorations sont prévus pour Inotify ? Je pense notamment à ne plus avoir une limite sur le nombre de fichiers « monitorables », ou encore sur la possibilité de lancer Inotify sur tous les sous-dossiers d'une arborescence sans avoir à la parcourir manuellement.

CFS dans 2.6.23 !

Posté par Sebastien Binet () le 09/07/2007 à 23:59. (lien). Évalué à 7.


Enfin le nouvel ordonnanceur CFS d'Ingo Molnar (évoqué lors de la dépêche sur le noyau 2.6.21) en est à sa dix-neuvième version et le temps de l'inclusion dans la branche principale approche à grands pas !

Ca y est, il est dans la branche principale:
http://lwn.net/Articles/241085/rss

Scheduler

Posté par karteum59 () le 12/07/2007 à 08:01. (lien). Évalué à 2.

Qqun peut-il me dire pourquoi il ne serait pas possible d'utiliser la même base d'algorithmes de manière plus générique, à la fois pour le scheduler des processus, des IO, de la QoS réseau (tc), etc. ? Il existe déjà une pléthore d'algos (WFQ et autres), et il me semble (sauf erreur de ma part) qu'il y a de la similitude entre les problématiques de traffic shaping et de scheduling processus... Donc ne serait-il pas possible d'avoir une "libscheduler" dans le noyau qui puisse servir simultanément tout ça ?

Réciproquement, si je devais mettre en oeuvre un scheduler pour de la QoS réseau, est-il sensé d'imaginer copier-coller CFS de Ingo Molnar ? (ou un autre scheduler processus du noyau, mais je prends CFS pour exemple puisqu'il paraît qu'il est top :).

Revenir en haut de page