Logiciel : Sortie du noyau Linux 2.6.22
Posté par patrick_g (page perso, ). Modéré le 09 juillet 2007.
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.
Les nouveautés de Linux 2.6.22 (2658 hits)
Le bilan des ajouts 1 (663 hits)
Le bilan des ajouts 2 (489 hits)
Les articles du symposium Linux 2007 (239 hits)
> Lire la dépêche (84 commentaires, moyenne: 4,3).
Vous avez demandé le commentaire #849959.




Fin de la branche CK
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
[^]Re: Fin de la branche CK
Je trouve que tu présentes ce problème sous un aspect partial très favorable à Con Kolivas. En tant que lecteur quotidien de la LKML depuis 7-8 ans, mon opinion est très différente. Elle est sans doute partiale elle aussi. CFS a eu les faveurs de la communauté pour plusieurs raisons:
1- Il est jugé techniquement supérieur
2- Ingo Molnar est capable de travailler en équipe et d'accepter les contributions d'autres personnes à "son bébé". Il suffit de regarder les changelogs de CFS pour voir que de nombreuses améliorations ne sont pas de lui. Dans un projet aussi communautaire que linux, c'est fondamental (cf. la situation de la couche IDE des noyaux 2.0, 2.2).
3- Ingo Molnar lance un projet et le maintient ou bien lui trouve un autre mainteneur (le dernier noyau realtime a été annoncé par Thomas Gleixner qui à l'origine était un petit contributeur, et maintenant est le principal contributeur de ce patch). Quelques temps après avoir créé SD, Kolivas a du s'arrêter de développer pour des raisons de santé. C'est ce qui a poussé Ingo Molnar à lancer CFS. Il n' y avait personne qui pouvait/voulait continuer le travail de Con Kolivas. C'est important d'avoir l'assurance que tel ou tel projet sera maintenu.
4- La lecture de la liste de diffusion du noyau montre que Con a commis quelques erreurs: des accusations paranoïaques et de tricherie contre CFS (e.g. l'histoire du renice de X). De son coté, Ingo Molnar a toujours rendu à César ce qui lui appartient. Il a clairement déclaré que certains concepts venaient de Kolivas, et n'a jamais dans ses changelogs, prétendu que son poulain était le meilleur.
5- Quand des défauts, bugs ou problèmes plus conceptuels ont été abordés pour les deux projets, Ingo Molnar a comme d'habitude corrigé les bugs (dans les heures qui suivaient). Cela fait de nombreuses version de CFS où il n' y a pas de bugs (il y a une constante: des gens rapportent des bugs, et réalisent ensuite qu'il se sont trompés où que le bug est en fait présent sous le noyau de base ou du à autre chose (e.g. le cas d' un bug de XTerm la semaine dernière)). Les problèmes soulevées par Bill Davidsen contre SD n'ont jamais reçu de réponse, ce qui a poussé Linus a faire un rappel à l'ordre.
Bref, Con a fait du bon boulot techniquement, et le patch "swap-prefetch" a toutes les chances d'être intégré au noyau, mais il n' a pas su gérer l'aspect humain de la contribution: accepter les critiques, accepter des devoir adapter son code au noyau, et non pas l'inverse.
Mais c'est mon opinion sur cette triste histoire, je le reconnais.
[^]Re: Fin de la branche CK
Excellent résumé de la situation. C'est aussi ce que je pense après avoir suivi l'histoire sur la LKML.
[^]Re: Fin de la branche CK
> CFS a eu les faveurs de la communauté pour plusieurs raisons:
> 1- Il est jugé techniquement supérieur
Son design fait intervenir des structures plus complexes a manipuler que le Staircase Deadline (SD). Si bien qu'il ajoute des lignes de code a sched.c là ou SD en enleve et le rend plus simple a maintenir.
> 2- Ingo Molnar est capable de travailler en équipe et d'accepter les contributions d'autres personnes à "son bébé". Il suffit de regarder les changelogs de CFS pour voir que de nombreuses améliorations ne sont pas de lui. Dans un projet aussi communautaire que linux, c'est fondamental (cf. la situation de la couche IDE des noyaux 2.0, 2.2).
Ingo est un vieux routard du noyau, il a une aura dans la communauté LKML qui attire beaucoup plus qu'un pauvre gars, même pas informaticien qui tente de convaincre son monde depuis bientot 5 ans au travers de patchs toujours refusés upstream faute de consensus/perseverence.
> 3- Ingo Molnar lance un projet et le maintient ou bien lui trouve un autre mainteneur (le dernier noyau realtime a été annoncé par Thomas Gleixner qui à l'origine était un petit contributeur, et maintenant est le principal contributeur de ce patch). Quelques temps après avoir créé SD, Kolivas a du s'arrêter de développer pour des raisons de santé. C'est ce qui a poussé Ingo Molnar à lancer CFS. Il n' y avait personne qui pouvait/voulait continuer le travail de Con Kolivas. C'est important d'avoir l'assurance que tel ou tel projet sera maintenu.
Faux, CFS n'est pas du au retrait de Con Kolivas suite a sa maladie.
1- Con est tombé malade suite au stress et travail imposé par la LKML sur son scheduler. En gros il propose un patch et au lieu d'y contribuer tout le monde l'a fusillé en lui disant que l'idée est bonne, mais l'implémentation n'est pas ce qu'ils attendaient.
2 - Ingo a validé le concept mais a lui aussi refusé l'implementation de Con. Il disparait et reapparait avec son CFS.
> 4- La lecture de la liste de diffusion du noyau montre que Con a commis quelques erreurs: des accusations paranoïaques et de tricherie contre CFS (e.g. l'histoire du renice de X).
Le renice de X est une vérité vraie. Je 'tinvite a relire la LKML il y a quelques années ou Ingo et Linus defendaient le fait que renicer X c'etait pas la bonne approche dans la course a l'interactivité.
Il est donc compréhensible que Con trouve que le renice automatique de X dans les premieres version de CFS soit de la pure triche pour pallier au manque d'interactivité de CFS dans sa jeunesse.
> De son coté, Ingo Molnar a toujours rendu à César ce qui lui appartient. Il a clairement déclaré que certains concepts venaient de Kolivas, et n'a jamais dans ses changelogs, prétendu que son poulain était le meilleur.
Oui et non, il est comprehensible que Con qui bosse depuis plusieurs années sur l'amelioration du scheduler ait les boules.
Il s'est fait refuser le staircase scheduler, bien qu'il eut:
- été plus simple que le scheduler mainline
- intégré la notion d'interactivité de facon naturelle et deterministe.
Il s'est fait refuser RSDL (Rotating Staircase Deadline Scheduler) et SD:
- car l'approche etait un peu hors norme
- car personne ne l'a vraiment concretement aidé à l'ameliorer en respectant le design de base (y a eu des patchs envoyes pour integrer des heuristiques de bonus d'interactivité par celui qui tune ce meme parametre dans le noyau mainline depuis quelque temps). Mais le fameux 'envoies ton patch au lieu de critiquer gratuitement' a pas eu lieu. Les critiques etaient là, les patchs non.
On peu donc comprendre que l'arrivée de CFS soit mal percue. Ingo n'a pas patché SD, il s'est mis a coder dans son coin en repompant l'idee de base, fait un truc a sa sauce, et attiré les developpeurs interesses car il est plus affluant dans la communauté LKML.
> 5- Quand des défauts, bugs ou problèmes plus conceptuels ont été abordés pour les deux projets, Ingo Molnar a comme d'habitude corrigé les bugs (dans les heures qui suivaient). Cela fait de nombreuses version de CFS où il n' y a pas de bugs (il y a une constante: des gens rapportent des bugs, et réalisent ensuite qu'il se sont trompés où que le bug est en fait présent sous le noyau de base ou du à autre chose (e.g. le cas d' un bug de XTerm la semaine dernière)). Les problèmes soulevées par Bill Davidsen contre SD n'ont jamais reçu de réponse, ce qui a poussé Linus a faire un rappel à l'ordre.
48 versions de SD, c'est peut etre pas assez ?
En fait, tu disais que le post original de la thread etait biaisé en faveur de Con, et bien j'ose dire que le tien est clairement biaisé en faveur d'Ingo.
L'erreur c'est que tu as uniquement suivi la LKML pour te faire une idee, et SD a été développé sur la mailing list de Con Kolivas. Cela explique certainement ta partialité.
Mais ayant vu les choses sur les deux MLs, je dirais que Ingo a fait un petit coup de pute a Con:
- il ne l'aide pas
- il deprecie le design
- il vient avec un concurrent
- il attire a lui tous ceux qui seraient en mesure d'aider Con
- il renie certaines choses qu'il a rejeté des années durant pour son scheduler O(1) mainline (modularité, pas de bonus d'interactivité ...).
Donc oui, Con a eu les boules, c'est normal.
Ingo a mergé son CFS, tant mieux pour Linux qui profitera d'un scheduler techniquement supérieur au mainline 2.5.x->2.6.21.
PS: malgré mon plaidoyer pour Con, je trouve qu'Ingo fait du super boulot. C'est juste la facon de faire qui a été "border line" et que j'ai trouvé un peu irrespectueuse humainement.
[^]Re: Fin de la branche CK
Dans le fichier de documentation de CFS on trouve ces phrases écrites par Ingo :
"I'd like to give credit to Con Kolivas for the general approach here: he has proven via RSDL/SD that 'fair scheduling' is possible and that it results in better desktop scheduling. Kudos Con!"
Donc Ingo reconnait parfaitement avoir utilisé l'idée originale de Con et il attribue correctement le crédit de cette idée (et ajoute ses remerciements).
Ensuite il a l'air de dire (ce qui est normal) que sa solution est techniquement supérieure :
"CFS's design is quite radical: it does not use runqueues, it uses a time-ordered rbtree to build a 'timeline' of future task execution, and thus has no 'array switch' artifacts (by which both the vanilla scheduler and RSDL/SD are affected)."
[^]Re: Fin de la branche CK
Chouette. Le mec a bossé sur un systeme pendant des années, s'est fait allumer, et des qu'il est indisponible, les memes qui l'ont allumé reprennent les idées qu'il a développées. Mais il a droit a une ligne de remerciement dans "le nouveau scheduler CFS d'Ingo Molnar", alors il peut fermer sa gueule.
A ce tarif la, je veux bien comprendre qu'il l'ait un peu mauvaise et laisse tomber le projet, je suis déja passé par la...
"While a monkey can be a manager, it takes a human to be an engineer" Erik Zapletal
[^]Re: Fin de la branche CK
Pour preciser, Kolivas exerce le metier de medecin anesthesiste, et developpe sur son temps libre. De son cote, Ingo Molvar est developpeur kernel chez Red Hat.
Interviews de 2002 :
Kolivas : http://kerneltrap.org/node/465
Molvar : http://kerneltrap.org/node/517
Un resume tres complet des echanges entre Kolivas et Molvar sur LKML :
http://kerneltrap.org/node/8059/L
Pour ma part, je vois 2 lamentables erreurs de gestion humaine :
- Molvar affirme avoir creer CFS en 62 heures, plus 6 heures de test. Il s'est fonde sur les idees de Kolivas qui travaille sur le sujet depuis plusieurs annees. Mais Molvar n'a pas trouve necessaire d'en discuter 1 minute avec Kolivas avant de poster son patch CFS sur LKML.
- Les mainteneurs (Torvalds, Molvar, Piggin et d'autres) ont souvent regarde de haut les patchs CK. Puis Torvalds en a remis une couche en soutenant Molvar sur LKML, comme quoi rivalite et tension participe a la qualite du kernel...
Ma conviction (tout a fait personnelle), c'est que Molvar ne devait pas trop apprecie que depuis 2002-3 un gus australien developpant sur son temps libre viennent marcher sur ses plate-bandes, en disant que le scheduler o(1) n'etait pas si bon que ca.
(autre conviction : Torvalds est un super ingenieur, mais un pietre manager).
Sequence souvenir (26 juillet 2003) :
http://www.ussg.iu.edu/hypermail/linux/kernel/0307.3/0554.ht(...)
-- Front de Libération des Sources --
Pour stopper les trolls, citons les sources !
[^]Re: Fin de la branche CK
Tu as extrêmement bien résumé la situation (de ce que j'en sais), à un détail près : le gus s'appelle Ingo Molnar, pas Molvar :)
[^]Re: Fin de la branche CK
Ca et les fautes de conjugaison... j'ai honte!! :-[
-- Front de Libération des Sources --
Pour stopper les trolls, citons les sources !
[^]Re: Fin de la branche CK
C'est tout à fait l'impression que cette histoire me laisse également. D'un coté un développeur payé par red-hat dont le boulot à plein temps est de faire de l'ordonnancement dans le kernel. De l'autre un médecin avec sa petite famille qui prend de son temps libre pour trafiquer le noyau. Ce dernier n'est pas vraiment de la bande à linus, il se permet de dire que certaines portions du kernel pourraient être améliorées, et puis il le prouve en le faisant.
En résumé, voici une reconstitution fortement exagérée de ce qui a pu se passer :
Kolivas : bon, o(1) c'est sympa mais parfois j'ai du lag dans les applications, je pense qu'on pourrait peut-être remplacer la contrainte de ...
Molnar : bullshit on peut pas faire mieux
----- un peu plus tard ----
Kolivas : c'est bon j'ai un nouvel ordonnanceur qui s'appelle RSDL, testez-le pour voir
---- linus et molnar en privé ----
Molnar : eh linus, y'a le toubib' qui r'commence à faire mon taff', comment tu veux que je justifie ma paye moi après ?
linus : bon sang mais c'est que ça marche sacrément bien son machin en plus, ça me dirait bien de l'utiliser mais j'ai pas envie de passer pour une bille en admettant sa supériorité
molnar : et moi donc !
linus : tu sais quoi, de toute façon ce mec m'énerve, c'est moi le roi ici, i am the king, et y'a que moi qui ai le droit de dire quand un truc c'est de la merde ! Tiens t'as qu'à lire un peu son code, moi je m'arrange pendant ce temps, je vais bien lui trouver un truc, au pire je le traiterai de nazi.
--- de retour sur la LKML ---
linus : Kolivas, c'est bien ton truc, mais faudrait faire ça ça et ça en plus, pour la semaine prochaine
(...)
kolivas : voila linus, c'est fait
linus : ah, euh, ok, bon alors tu feras ceci, cela, et aussi ça ça ça et ça et puis aussi ça et tu referas ça, le tout pour demain !
(...)
kolivas : voila
linus : bon sang j'en ai marre, maintenant tu recommences tout à zéro et je veux qu'en lisant les premières lettres de chaque ligne de ton code ça fasse un pamphlet à ma gloire, tu dors pas et tu me fais ça pour demain matin et j'envisagerai de remplacer o(1) par SD
kolivas : arg, glaps -> hosto
--- sur la LKML ---
molnar : eh les mecs j'ai un nouvel ordonnanceur, j'ai fait ça vite fait, je pense que d'ici une soixantaine de hacks et quelques renice ça fonctionnera bien
linus : mais c'est suuuupaaaaiiiiiiiiiirre, quelle heureuse surprise, allez on l'adopte !
kolivas : euh, mais le miens il fait mieux et depuis quelques mois, il est moins gros et moins dur à ...
linus : ouais, mais toi t'es un qu'un sale faiblard, regarde t'es allé à l'hosto, t'es même pas capable de maintenir du code et puis t'façon y'a déjà CFS, t'as pas l'impression de venir faire double-emploi là ? Et puis le logiciel, c'est comme mon sexe, c'est meilleur quand c'est gros et dur.
--The End--
paul
[^]Re: Fin de la branche CK
De plus Linus contredit De Raadt sur les bugs des Core 2 Duo [1] en disant que " le problème des TLB n'est rien du tout " sauf que quand Theo disait " bugs critiques et dangereux " il ne pensait pas du tout aux TLB mais en visait d'autres... Bref il lit et commente ce qu'il veut bien lire et commenter, sa parole étant reprise comme la seule valable.
[1] : http://article.gmane.org/gmane.os.openbsd.misc/126235
et l'article dont ils parlent : http://blogs.zdnet.com/Ou/?p=559
[^]Re: Fin de la branche CK
M'enfin la faut pas déconner, ce n'est pas de la faute de Linus quand il dit : "le problème des TLB n'est rien du tout" il ne parle que de la TLB.
C'est les autres qui déforment et disent "regarde Linus dit que Theo raconte que des conneries".
C'est aussi aux lecteurs et à toi d'être critiques.
[^]Re: Fin de la branche CK
L'article est titré "Linus contradicts OpenBSD founder on Intel TLB issue" et fait comme si Theo avait fait une montagne des TLB, c'est en ce sens qu'allait mon commentaire. Que Linus dise que le problème des TLB n'est rien est parfaitement correct, et je n'irais certes pas le lui reprocher.
[+] [^]Re: Fin de la branche CK
En fait c'est dommage parce que le concept philosophique de l'ordonnanceur c'est quand même d'être équitable avec les différents processus.
Équitable dans le sens, équitable quoi, juste et honnête, Fair Scheduler, bien, qui respecte tout le monde quoi, comme linux et le travail communautaire, etc, bref, tous ces beaux concepts philosophiques qui sont quand même importants, comme le sheduler du noyau qui est important aussi, non?
Bon dommage alors