Linux : 200 lignes de code qui changent (presque) tout
Un petit patch permet aux environnements graphiques fonctionnant sous Linux de gagner en fluidité. L’innovation tient parfois à peu de choses.
Alors que la plupart des patchs proposés pour le noyau Linux permettent de consolider cette solution ou d’en améliorer le support du matériel, celui proposé par Mike Galbraith pourrait changer profondément la donne. D’une taille de seulement 224 lignes de code, cette modification a réussi un double pari : réduire sensiblement la latence constatée en environnement graphique, tout en ne grevant pas les performances du système en mode texte. Voilà une combinaison qui a su séduire Linus Torvalds. ‘Enfin’, diront certains, puisque ce type de correctif est régulièrement proposé, avant d’être rejeté pour cause d’un impact trop important sur les applications serveur.
« Je pense que c’est bien un patch qui mène à une « véritable amélioration ». Bon travail. Le Group scheduling passe ainsi du statut « d’utile pour certaines charges serveur » à celui de « killer feature » », s’enthousiasme Linus Torvalds à la fin de cette missive.
Michael Larabel du site Phoronix présente des vidéos de démonstration montrant la réactivité du système en cas de forte charge. Sans le correctif, l’interface graphique a du mal à se rafraichir, le décodage d’une vidéo HD étant du domaine de la soirée diapos. Avec le patch, la vidéo s’affiche sans gros ralentissements, ce qui reste exceptionnel pour du 1080p. Le rafraichissement des éléments graphiques est également bien plus rapide.
Ceci a d’autres effets. Ainsi, Linus Torvalds a pu constater que le chargement d’un grand nombre de pages web était beaucoup plus prompt que précédemment. « J’avais toujours associé ce problème à un souci de performance réseau, alors que c’était clairement lié à la charge processeur », s’excuse le créateur du noyau Linux.
Ce correctif ‘miracle’ pourrait être proposé par défaut dans le futur noyau Linux 2.6.38. Attention toutefois, car s’il permet une meilleure répartition des ressources CPU, il ne boostera aucunement la capacité de calcul de votre machine (même s’il est vrai que le kernel d’un OS peut aussi influer sur la puissance utilisable).
Autres articles sur ce sujet
Linus Torvalds
linux
noyau
performances
Derniers commentaires
15 replies to Linux : 200 lignes de code qui changent (presque) tout
On constate, ce que l’on commence à dire également de l’innovation, que la pression d’un patron ou l’appât du gain ne sont pas les seules motivations qui mènent à l’excellence. Si on compare Linux aux autres systèmes serveur on est même en droit de se dire que cette forme de développement collégiale et « désintéressée », comparable à celle de la connaissance scientifique, est de loin la plus efficace.
« réduire sensiblement la latence constatée en environnement graphique, tout en ne grevant pas les performances du système en mode texte. »
N’importe quoi.
Cette phrase n’a AUCUN sens.
« N’importe quoi. Cette phrase n’a AUCUN sens. » Curieux… C’est pourtant ce que Linux Torvalds explique à chaque fois qu’il a refusé des patches similaires. En modifiant le scheduler pour favoriser un usage desktop (bref, en environnement graphique), les performances en mode serveur (bref, pour les applications en mode texte) étaient systématiquement en baisse… Chose – logiquement – inacceptable pour Linus.
« Si on compare Linux aux autres systèmes serveur on est même en droit de se dire que cette forme de développement collégiale et « désintéressée », comparable à celle de la connaissance scientifique, est de loin la plus efficace. »
C’est vrai ; mais si on compare Linux aux autres systèmes desktop, on est en droit de se dire que cette forme de développement est de loin la moins efficace… Alors ?
Si Linux ne paraît pas idéal pour le desktop de certains, c’est à cause des jeux et de la dominance absolue de la compatibilité Microsoft.
Enfin, pour ceux qui désirent ne pas se prendre la tête avec les virus et simplement surfer, écrire des textes, classer et retoucher des photos, un Linux, une Ubuntu en particulier, ça va très bien. Sauf que quand vos correspondants vous envoie un programme par email, virus ou pas, il est plus compliqué à lancer.
Le Macintosh est très bien aussi pour ça, avec la même limitation : les programmes envoyés par mail souvent ne s’exécutent pas et c’est le plus souvent un bien parce que c’est souvent des virus.
Et devoir réinstaller tout son système Windows/Linux ou Mac, c’est long et pénible – surtout pour Windows, avec le très grand nombre de patchs qu’il faut passer après l’install, et encore les autres programmes payants pour lequels il faut retrouver les CD/DVD et numéros de série…
Windows, c’est bien pour les programmes piratés et pour les jeux, le choix est le plus grand.
Pour le coût le plus bas, c’est Linux qui est le mieux, puisqu’il fonctionne même sur du vieux matériel. Et pour l’honnêteté, Linux c’est forcément le top, il n’y a rien de piraté de disponible, puisque la grande majorité des programmes sous Linux sont gratuits !
@Corrector : C’est ton commentaire qui n’a aucun sens…
@En passant par là : « devoir réinstaller tout son système Windows/Linux ou Mac, c’est long et pénible ». Tout à fait d’accord, et c’est bien pour ça qu’il existe une fonction très pratique sous Windoze qui s’appelle restauration du système, qui permet de s’affranchir de toute cette procédure et de réinstaller un système propre, à jour et fonctionnel en quelques clics et une poignée de minutes…
« Windows, c’est bien pour les programmes piratés et pour les jeux ». Oui, mais aussi et surtout pour son côté user-friendly. J’ai testé Linux et franchement, je serais le premier à m’en servir s’il était aussi simple d’utilisation que l’OS de Petitmou. Malheureusement, malgré l’essor des interfaces graphiques, c’est encore loin d’être le cas ! A quand un « patch » pour ça ?
Je comprend pas trop la…
Depuis 10 ans, a chque fois qu’un mec ecrit que les système graphiques sous linux sont poussif … il se fait descendre en flamme.. et la on vient me raconter qu’en 220 lignes les performances vont ps’améliorer pour passer d’un « (…) décodage d’une vidéo HD étant du domaine de la soirée diapos » vers « ..la vidéo s’affiche sans gros ralentissements… »
Sans gros ralentissement !! Allez les mecs encore 200 lignes et ça va booster !!…. et tous le monde applaudit… Mais mdr !!
L’art de ressortir les propos de leur contexte. Soirée diapos, oui, mais sur un système sous très forte charge (compilations, chargement de lourdes pages web, etc.). D’autres systèmes n’afficheraient même pas la première image de la vidéo dans ce cas de figure.
C’est vrai que mon commentaire était volontier provocateur…
Cela dit, est-ce que l’on peut réelllement prendre cet article au sérieu ?
Pensez vous réellement que Linus Torvalds ne sache psa faire la différence entre une latence réseau et un problème de charge processeur… non mais franchement…
Les citations viennent de lui… elles ne sont pas inventées.
@funambule puisque il s’agit d’open source, vous pouvez toujours analyser le patch de Mr. Galbraith. Notez par ailleurs que c’est le *patch* qui comporte 200 lignes et des brouettes. Il n’est nul part fait mention du nombre de lignes de code existant que le patch remplace. 0..? 200..? 2000..? Encore une fois référez vous au patch. Par ailleurs, vu le mode de collaboration entre les développeurs du kernel linux, si vous doutez de la véracité de l’article, il n’est pas interdit de vous documenter sur ce que Linus Torvalds a réellement écrit à ce sujet. Une rapide recherche Google (ou autre) vous permettra de retrouver la (longue) discussion technique entre Linus et l’auteur du patch. Le mot-clé dont vous avez besoin est ‘LKML’ (linux kernel mailing list). Vous pouvez ensuite faire un recherche sur le nom de l’auteur du patch dans les archives de la liste (période de Novembre 2010). Cordialement.
« C’est vrai ; mais si on compare Linux aux autres systèmes desktop, on est en droit de se dire que cette forme de développement est de loin la moins efficace »
Il faut comprendre que Linux n’est pas un système desktop mais un noyau de système d’exploitation, utilisé dans des dizaines de systèmes d’exploitation différents, sur des dizaines d’architectures différentes, du lecteur DVD de salon à 50 euros jusqu’aux plus gros supercalculateurs du monde à plusieurs dizaines de millions de dollars (Linux équipe 455 des supercalculateurs du top 500 mondial). Ce n’est pas une question d’abus de langage sans importance, ça change réellement tout.
Sur cet immense éventail de machines extrêmement diverses, on peut trouver des environnements graphiques très différents (quand il y en a un), qui donnent l’impression de ne pas du tout être sous le même système. Il existe plusieurs serveurs d’affichage graphique, même si le plus souvent utilisé de nos jours est probablement XOrg, qui n’a *rien à voir* avec Linux spécifiquement puisque c’est un système qui est développé pour la plupart des systèmes UNIX, Linux ou autres.
Et je ne vois pas en quoi le développement des serveurs d’affichage graphique disponibles sous Linux serait peu efficace, à la vue des résultats. Ces serveurs permettent de faire des choses impossibles à réaliser avec les systèmes commerciaux grand-public, pour des raisons de structure et de modularité. Mais bien entendu, si on essaie Ubuntu, tout est fait pour qu’on ne s’en rende pas compte (puisque Ubuntu est fait pour vous donner une machine simple à utiliser et qui ressemble vaguement aux systèmes commerciaux grand-public).
Quant à ceux qui reprochent aux systèmes à base Linux d’être complexes à utiliser, c’est un non-sens. Une grande étendue de possibilités implique TOUJOURS une grande complexité. Par exemple, si vous achetez un appareil photo professionnel, vous aurez un manuel d’utilisation de 600 pages. Si vous prenez un compact grand-public, vous aurez 50 pages. Et ce ne sera pas la même durée d’apprentissage. Avec l’appareil sophistiqué, il faudra comprendre des notions complexes, comme les systèmes de couleurs, alors que l’appareil accessible ne vous en parlera pas et ne vous donnera aucun choix. Et il n’existe aucun appareil qui permette d’avoir une grande étendue de possibilité tout en offrant une prise en main en 5 minutes. C’est pareil dans tous les domaines. Un appareil professionnel demande toujours d’apprendre des notions complexes et de passer beaucoup de temps à utiliser le système. Mais quand vous configurez un supercalculateur, vous êtes bien entendu content de pouvoir compiler un noyau en agissant sur des centaines de paramètres de celui-ci. Alors que lorsque vous voulez mettre à jour votre Facebook, vous n’en avez rien à faire. Voilà pourquoi les utilisateurs de Facebook utilisent des systèmes grand-public à 95%, tandis que les utilisateurs de supercalculateurs utilisent des systèmes UNIX à 95%. Pour chaque usage existe un type de système meilleur que d’autres. Après, que des gens construisent un système appellé Ubuntu en configurant tout à l’avance pour que ça ressemble à un système commercial grand-public avec une petite musique d’accueil et des grosses icones pour cliquer dessus, pourquoi pas, ça plaira sans doute à certaines personnes pour certains types d’usages, tandis que pour d’autres ça n’ira pas.
Je me demandais si à l’avenir, Seb, le client du dessus allait pouvoir réduire ses fameux textes de quelques lignes et même les accélerer un peu du point de vu graphique, afin que d’aucun accède encore plus simplement et rapidement à un si bel exemple d’intelligence et d’agréable entendement.
Ah que ça fait du bien de le lire quand même.
Je ne connais pas grand chose a Linux, je l’ai installé un peu n’importe comment en cliquant sur un peu n’importe quelles options. Apres avoir installé un peu n’importe quoi comme applications de sources diverses, sans avoir bien parametrer mon systeme et en ayant manipulé plusieurs fois les fichiers systemes au hasard, mon ordinateur Linux est maintenant rendu instable et plante constament.
Ceci est mon histoire et celle de 99% de la population non ingenieure qui installerait ce systeme d’exploitation.
Dire qu’un systeme est mieux qu’un autre quand il est manipulé par des experts est tres facile a dire.
Dans la realité ca plante plus pour moi qu’un systeme bidon a la win ou la osx.