• [^] # Re: Fin de la branche CK

    Posté par . En réponse à la dépêche Sortie du noyau Linux 2.6.22. Évalué à 9.

    > 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.