Les recettes du kernel

Durée: None

Date de sortie: 11/10/2024

Voir sur Youtube Animé par Julien Durillon - @juuduuavec la participation de : Arnaud Lefebvre - @blackyoup Agathe - @agathe Adrien Mahieux - @saruspete Épisode enregistré le 25 septembre 2024 Chapitrage et Liens 00:01:46 : Mais c’est quoi Kernel Recipies  ?https://kernel-recipes.org 00:06:27 : Nos confs préférées Structures des données pour être efficace dans le cache line : https://kernel-recipes.org/en/2024/schedule/assisted-reorganization-of-data-structures/ https://kernel-recipes.org/en/2024/schedule/how-cern-serves-1eb-of-data-via-fuse/ Comment l’association Linux est devenue un CNA : https://kernel-recipes.org/en/2024/kernel-and-security/ https://kernel-recipes.org/en/2024/schedule/case-study-concurrent-counting/ https://kernel-recipes.org/en/2024/virtme-ng/ Lire /proc/meminfo https://kernel-recipes.org/en/2024/schedule/all-your-memory-are-belong-to-whom/ https://kernel-recipes.org/en/2024/schedule/preempt_rt-over-the-years/ 00:29:55 : Présentation sched_extÉcrire un scheduler en bpf pour tester des nouveautésÇa arrivera dans la 6.12 6.1100:35:22 : Plein de nouveautés RISC-VSupport de rust en 6.10Mem hotplug 6.1100:42:50 : Agner table (un pdf)00:42:31 : io_uring: bind/listen sur un port00:44:08 : Sloppy logic analyzerUn analyzer logique du pauvre, un peu pourri, mais c’est làÇa permet de debug un système à distance, avec du GPIO 00:48:40 : NULL blk, un driver block en rust pour amorcer la pompeÇa permet de tester ses applis qui écrivent en block00:54:00 : Version min 1.78 et on peut compiler avec rust 1.8000:56:00 : Musique de fin : Katy Perry - I kissed a girl - https://www.youtube.com/watch?v=tAp9BKosZXs

Bonjour et bienvenue dans ce nouvel épisode de Messages à caractère informatique, épisode
numéro 118, donc le 119ème épisode. Nous sommes toujours le 25 septembre 2020, je suis
toujours Julien Durillon et aujourd'hui je suis toujours accompagné de gens merveilleux tels
que Arnold Febvre, bonjour Arnold, bonjour, tu lui rappelles un peu ce que tu fais dans la vie ?
Bien sûr, je travaille chez Clear Cloud et je suis dans le ski par farcissus où on gère les
machines, les machines visibles qui se démarquent dessus, un peu de network,
comme on veut s'amuser dans les décès, le système clean en un peu de succulents.
Très bien, je suis également accompagné de Agathe qui est notre invité mystère, salut.
Moi c'est Agathe, je travaille chez Canon Nicole, surtout ce qui est au Wuntu et à Noyoli Nux.
Donc voilà, parfait, bienvenue Agathe, à Néo et nous avons Adrien, bienvenue Adrien,
Adrien Maïeu, qui est-tu et que fais-tu dans la vie ?
Bonjour, moi c'est ça respecte d'ailleurs parce que je râle beaucoup, donc râleur professionnel et
je l'avais dit que c'était pompier de l'IT et spécialité de performance, optimisation et tout
comme ça. Ça marche. Et donc on se retrouve toujours ce soir pour continuer nos épisodes
Kernel, donc on va discuter de la 6.11 et après on discutera d'autres choses. Je vous propose
qu'on garde, ah non on a décidé qu'on commençait d'abord par ça. Et du coup la surprise va s'arrêter
un peu près maintenant. On se voit ce soir parce que vous trois depuis lundi, si je ne dis pas de
vous, avez participé à Kernel recipes, donc les recettes du Kernel. C'est quoi comme conférence ?
C'est où ? Ça coûte combien ? Alors c'est une conférence pour les développeurs Kernel,
principalement basé à Paris. Le point intéressant qu'ils ont dessus, c'est que ce n'est pas des
conférences qui sont spécialisées dans un domaine particulier. C'est vraiment que tous les
développeurs, ça leur permet de d'échanger librement sur plein de sujets. Alors qu'en général,
ils sont plutôt recommités pour IO, Netwire, Storage. Donc ça ferait de faire un beau gros
changement avec tout plein de choses. Des conférences très intéressantes aussi bien pour les
développeurs Kernel que d'autres, des garçons qui sont juste des curieux, si cette mine développeur
ou autre qui sont un peu intéressés par le domaine. Effectivement c'est plus accessible que d'autres
conférences dans le sens où on parle un peu de tout. Et ça fait suite, enfin c'est peut-être
sur une coïncidence, mais il y avait Plumbers, Linux Plumbers la semaine dernière qui était à
Vienne. Et là pour le coup, vraiment, on avait des salles dédiées par sujet. C'est-à-dire qu'il
y avait une salle sur le Network, une salle sur les schedulers, une salle sur les files
système. Donc c'était vraiment très spécialisé et il fallait avoir une raison d'aller dans la salle,
enfin rien que pour comprendre de quoi ça parlait en fait. Il fallait déjà être assez spécialisé.
Donc c'est rond parrain parce que ça parle de tout. C'est assez accessible. Je pense même aux
personnes qui ne sont pas fonds dans le kernel mais qui juste l'utilisent par exemple, ça peut être
une idée. Et aussi c'est beaucoup moins cher. Ils ont expliqué pendant le début de la conférence
que leur but c'était d'avoir une conférence qui était accessible pour que même des gens qui font
par exemple du kernel sur leur temps libre ou quoi puissent y accéder sans forcément avoir un
petit quai d'entrée très cher. Et sur les ordres de rendeur, on est sur un prix d'entrée dix fois
moins cher que les Linux Plumbers. On a vérifié hier, je pense que c'est 60 euros la journée.
Donc j'en suis pas sûr que ça fait 180 euros, ce qui est assez ok.
Saisons qu'on mange au midi, qu'on a du café.
C'est vraiment ok, j'ai fait d'autres mots, vous n'êtes pas une telle chose. Il y a rentrer
plat dessert, il y a plusieurs types de boissons, du orange du café, du jupe pomme, du vin, de la bière.
La nourriture a été très bonne franchement. Pour avoir fait Plumbers la semaine dernière,
c'était rien à voir. Je me sens qu'on est en France et à Paris dans ce genre de conférences.
Et qu'il y a beaucoup de temps pour socialiser, je suis temps qu'il y ait gardé dans le planning,
ce n'est pas juste les trucs qui s'enchaînent suite.
C'est vrai que la pause midi fait 8h30 et ça permet vraiment d'échanger plus les grosses
pauses d'une demi-heure entre plusieurs conférences. Ça permet vraiment de parler avec tout le monde.
Et vu qu'il y a moins de monde aussi, on a la chance de parler avec un peu plus tout le monde
que s'il y avait 700 personnes et que les gens…
Il y avait 200 personnes là peut-être.
Oui, c'est… J'aurais dit 150.
220 ou 150.
Oui, oui.
C'est assez petit, mais c'est…
Beaucoup plus accessible, je pense que…
C'est assez petit.
Oui, très bien.
Donc vous avez vu des conférences, j'imagine.
Ah oui.
Oui, parce qu'il y avait par contre, il n'y avait pas non plus de stands.
Il y avait… Ça, je sais.
Alors, il y avait qu'une seule… Alors, il n'y avait pas de stands.
Alors, Plumbers non plus, il n'y avait pas de stands, pas exemple de boîtes ou de trucs,
des goodies.
Les stands, les sponsors.
Oui, les sponsors.
Il n'y avait pas de marches, c'est vraiment de la…

Les sponsors donnent parce qu'ils n'ont envie, ils n'attendent rien autour.
Il y avait quand même beaucoup de stands, mais ils ont fait des dons justement pour
permettre à la conférence d'être accessible à tout le monde.
Et aussi, il y avait une seule track, donc contrairement à Plumbers, on était tous
à la même salle.
Il n'y avait pas de différentes salles séparées par sujet.
Et donc, on a tous vu la même chose et aussi, du coup, on pouvait tous discuter de ce qu'on
avait vu.
Il n'y avait pas des gens qui avaient des infos en plus ou en moins parce qu'ils étaient
dans d'autres salles, donc c'était aussi pas mal.
Il y avait une ambiance, alors pour les questions, il y a un micro qui est envoyé
dans un espèce de pubromousse, qui est envoyé du coup de rang.
Oui, je dis lui ça dans un certain temps.
Dans un certain salle, c'est très marrant.
Il y a quelqu'un sur place qui fait des sketches.
Oui, qui fait des dessins, pas des sketches du mot, mais des dessins.
Oui, des dessins.
Moi, j'ai le droit à mon dessin.
Moi aussi, j'ai le droit de lui donner.
Oui, je pense que c'est un peu de la caractère.
Oui, je pense pas que c'est de la caractère.
Non, il s'est souligné les traits sur les personnes.
Oui, oui.
Je viens essayer de les afficher sur l'écran, mais sans Twitter.
Oui, d'accord.
C'est pas très grave.
Il faut savoir que le micro, parfois, quand il lance, ça n'interdit pas sur les bonnes
personnes.
Il faut être très tôt.
Il faut être gentil.
Il faut être gentil.


Il faut être attentif dans ce genre de conférences.
Et si on attend, ça va dormir.
On peut se prendre un micro-mousse sur le point de tête.
Ça va être le point de tête.
Est-ce qu'il y a de trois confs que vous...
Elles ont été enregistrées, les confs ?
Elles ont toutes été enregistrées, streamées.
Elles sont disponibles avec les slides et tout.
Il y a aussi tous les archives sur le site canal-recipice.org, si je ne me trompe pas.
Et dedans, comme à chaque fois, c'est très vaste.
Il y a plein de confs intéressants.
On a déjà, par exemple, la date de la toute première,
où on nous parlait de la structure des données pour être efficaces dans une cache-line.
Il y a 10 heures, on attaque.
On attaque dans le mur.
Mais, je t'en ai expliqué le détail de pourquoi c'était intéressant,
quels étaient les outils, qu'est-ce qu'ils utilisaient pour détecter comment faire.
Quel outil du quotidien, qui, donc, sur le canal, est quand même un outil d'expertise,
où la performance et la sécurité sont vraiment très efficaces,
très importantes.
Et ils expliquent comment on peut prendre ce truc-là aussi pour l'utiliser dans un soft,
l'armada, comme on l'a disait, même si on n'est pas développeur canal.
C'est ce qui est du juge, Julien.
Tu vois le...
Oui, tout le plan.
Après, on avait aussi le CERN qui ne nous expliquait pas.
Du coup, on est interresponsable de l'équipe storage du CERN qui expliquait
comment se servait un exabyte de data via Fuse par an.
Du coup, en termes de services, ils avaient 200 pt de data de storage.
Un exabyte, c'est plus combien de terabytes ?
Ça fait un million.
C'est-à-dire qu'un pta, c'est 1 000 terras.
Et un exa, c'est 1 000 pt.
Donc, tu arrives à 1 million de terras.
Ça fait beaucoup de disques.
Ils racontaient quelques chiffres, typiquement, dans les prochains stages du EHC.
Ils ont besoin de quelque chose comme 3 pt par jour de donner pour enregistrer.
Ça me rappelle un intervenant que j'avais eu pour jeter à la fac,
qui avait bossé notamment pour les archives nationales.
Et où ils avaient un contrat, justement, où c'était des armoires de disques durs
qui étaient livrées.
Mais genre, ils avaient 3 heures pour livrer une armoire de disques.
Enfin, des trucs monstrueux et puis une armoire...
À l'époque, oui, cette vête du pta à l'époque, parce que c'était une quinzaine d'années.
Donc, c'était déjà gros, enfin, de quelques pétins.
Et voilà, c'était un gros sujet.
Ce qu'ils disaient, c'est que ils avaient des machines, 96-10 de 181, tu vois.
C'est très dense, c'est du JBOD.
T'as vraiment tous les disques.
D'ailleurs, tu veux changer un disque, tu ne peux pas juste le retirer de ton serveur.
Il faut que tu ouvres le tiroir parce que tous les disques sont mis à plat
et que tu ouvres ton tiroir pour aller enlever le disque.
Alors heureusement, il y a des petites lettres qui s'allument pour te dire quel disque changer.
Mais c'est pas juste retirer un disque du rat, il faut vraiment enlever tout un tiroir de disque.
Et c'est très très lourd aussi avec le point de disque.
C'est la conzi qui a des gens qui ont pas les mêmes problèmes que nous.
Les volumes de données plus se trouvent en règle.
C'est vraiment très intéressant à voir parce qu'on peut aussi donner des détails sur la physique.
Après, on avait du coup, Greg Co-Hartman au début de lundi après.
C'était justement comme ils expliquaient comment Linux était devenu un CNA,
certification number authority, parce qu'ils en avaient marre que d'autres personnes
qui comprenaient rien à la CQ ou au kernel ou des CVE à leur place,
dont du coup maintenant il n'y a que l'association Linux
qui a le droit de définir des CVE pour Linux.
Si on regarde même un petit échelle, il y avait Kehl qui avait fait pareil
parce qu'il en avait marre que des gens qui étaient 3 CVE pour Apple qui arrivent
alors que c'était un truc qui n'était même pas chez lui, pas chez 100 kg au 40 gards en arrière.
Donc il n'a même rien de... ça se gère du bruit.
Et c'est devenu un CNA dessus.
Tu peux expliquer exactement qui est Greg ?
Alors c'est un des mainteneurs principales.
Greg Co-Hartman, c'est un des mainteneurs des branches stables.
Oui, c'est le mainteneur de Linux stable.
Et du coup, tous les patches qui vont vers les versions stables,
donc les versions sans doute que les gens utilisent sur leurs ordinateurs ou sur leurs serveurs,
tout ça passe par lui pour qu'il vérifie que ça soit justifié d'arriver en stable
et de ne pas faire de régression pour les utilisateurs.
Ce n'est plus les futurs qui veulent là, tu sais, du bug fixe et...
C'est ça, que du bug fixe ou des CVE.
Mais aussi pas mal de restes, je crois qu'il y a deux, trois, quatre...
Greg, justement, en parle, ça fait une bonne transition.
C'est-à-dire que Greg nous a montré qu'il y avait beaucoup de bugs,
il y a enfin de CVE, les nombres de CVE, c'était 54 par mois, il me semble.
Ah non, la semaine, c'était 55 CVE par semaine, donc c'était énorme.
Ce n'était pas les plus, les plus c'était WordPress, mais c'était des champions.
Et Greg nous disait que la très grande majorité des bugs qu'il voyait passer,
c'était des bugs qui n'auraient jamais eu lieu avec Rust,
parce qu'il y avait des use after free,
c'est-à-dire qu'on libère de la mémoire, mais après, on s'en sert.
Ou alors des double free, enfin, je ne sais plus ce qu'il y avait d'autre.
Et enfin, toute une classe de bugs qui en Rust n'est pas possible.
Et du coup, Greg est l'une des personnes qui poussent le plus pour avoir du Rust,
parce qu'il a dit, ça rendra mon boulot beaucoup plus simple qu'en Rust,
ce sera un peu partout dans le carrière, parce que j'aurais beaucoup moins de ces bugs.
C'est quand même marrant, c'est-à-dire le responsable de la version stable qui pousse le plus sur Rust.
Exactement.
En fait, pour moi, justement, vu que c'était une personne qui gêrait stable,
enfin, tout ce que t'es Rust, ça aurait fait des changements et tout,
il aurait pu être compte et tout, mais on en a parlé en mangeant un très bon, très mort pâle,
il me dit non, non, moi Rust, je suis pressé que ça arrive,
parce que j'aurais beaucoup moins de CVE à ouvrir quand ça serait un peu étalé partout.
Oui, ça utilisé effectivement, on reprise son 12 par semaine,
mitre 95 par semaine, et github 37 par semaine.
Donc le carnet est 55 par semaine, au-dessus de github, mais en dessous de...
Et aussi, il disait qu'il y en avait qui étaient générés,
mais sur des branches qui n'existaient même pas, qui ne la paient jamais,
enfin, qui ne sera jamais lisé.
Avant, il y avait des faux négatifs, c'est-à-dire qu'il y avait des bugs qui n'étaient pas marqués comme des CVE
alors que ça en était, parce qu'il y avait des impacts,
et maintenant, ils ont le problème inverse, c'est-à-dire qu'ils ont quelques faux positifs,
où il y a des bugs qui sont reportés en CVE qui n'en sont pas vraiment,
mais il vaut mieux avoir ça et avoir tous les vrais bugs en CVE,
voir quelques faux positifs que d'avoir des faux négatifs,
où les gens ne vont pas mettre à jour leur carnel,
parce que le numéro 7 n'aura pas été attribué, ils n'en vont pas être faits attention.
En fait, tout leur concept d'être une sienne et d'avoir des autant de CVE,
ça fait pas mal de drame quand ils ont mis ça en place.
Je sais que c'est pourquoi.
Parce que justement, avant, ils étaient, comme ils disaient,
30 CVE tous les 6 mois, tu vois,
parce que c'était pas adapté, il fallait qu'ils parlent en autorité ou...
Oui, ils devaient demander, ils devaient demander...
On voulait que c'était un certain CVE pour demander des numéros, etc., c'était fatigant.
Mais après, du coup, comme ils disaient,
c'est pas eux qui sont mis à faire ça spécialement,
c'est qu'en fait, le gouvernement américain leur a demandé de faire ça,
d'avoir des suivis très précis de toutes les phases de sécurité possibles,
pas spécialement ceux qui sont exploitables, mais qui sont...
Exactement, exactement.
C'est ce que j'allais dire.
Un bug, vous montrez que c'est exploitable, en tout cas, voilà la CVE.
C'est ça, c'est à dire qu'un bug,
même s'il n'y a pas de preuve que ça va aller faire les dégâts,
avant, on attendait que ça fasse des dégâts pour dire
« Ah, il y a un bug, non, non, ça, c'est un bug qui peut avoir...
Ça peut être un double after-... Un use after-free, quelque chose.
Donc, c'est le bug, même s'il n'y aura jamais personne dans le monde qui l'aie utilisé.
Donc, c'est le bug.
C'est comme les... Comment ça s'appelle ?
Les incidents dans les trucs nucléaires.
Oui.
Ah oui, il y a des incidents, par exemple, c'est un feu de poubelle dans les...
D'un exemple, un incident à côté.
C'est même bien que ça.
Parfois, il y a quelqu'un qui a genre laissé tomber un stylo,
il y a un stylo qui traîne depuis trois heures dans un endroit où il ne devrait pas traîner.
Du coup, ça craint un incident nucléaire ?
Oui.
Parfois, les gens disent « Bah oui, le nucléaire, regardez, il y a tant d'incidents par jour ou des trucs comme ça.
Non, en fait, c'est que chaque incident est traité parce qu'il y a des enjeux de sécurité.
C'est traité comme un incident.
Et en fait, 99,99% des incidents, c'est ridicule.
Mais quelqu'un qui guise dans les escaliers,
ou quelque chose qui est un paradur actif,
ça sera catégorisé comme un incident nucléaire.
Parce qu'il y a un lieu sur un site.
Oui.
Après, il y a un système de niveau de gravité qui vient en place.
Du coup, je crois qu'il y a aussi que c'était…
« L'ogiciel open source devait être responsable de ce qui m'était.
C'était une suite aussi de ce truc-là.
C'est plus irresponsable.
En fait, il y a aussi une loi en Europe carille,
là, c'est le Cyber Resilience Act,
qui demande d'avoir la talise de logiciels de fournis
et qui demande aussi au constructeur, par exemple,
les fabricants de caméras embarquées,
qui soient responsables de la sécurité de leur hardware
et du logiciel qui fournissent.
Donc, si jamais les constructeurs de caméras fournissent un Noyorinux,
ils vont avoir la contrainte légale par l'Union européenne
de devoir mettre à jour leur caméra
avec tous les fixes de CVE qui auront été publiées.
Et donc, ça, c'est quelque chose qui arrive dans l'Union européenne.
Et c'est pour mettre fin,
parce qu'on a eu récemment avec le bug dans les avions,
où il y avait plein d'avions qui avaient été cloués au sol,
parce qu'il y a une mise à jour de sécurité
qui avait été poussée, qui a tout pété.
C'était un antivirus.
Du coup, l'antivirus a tout pété
et la boîte qui a dit « l'antivirus » a dit
« Ah, c'est pas de ma faute, c'est du logiciel,
du coup, je ne suis pas responsable ».
Alors, on en a entendu ça,
parce que les boîtes logicielles sont impunies
et font des trucs horribles,
qui ont des impacts vraiment dans la vie de tout le jour.
On peut tuer des gens, on peut mettre des avions au sol.
Et les boîtes logicielles disent « oui, mais c'est du logiciel,
donc je ne suis pas responsable ».
Donc, l'Union européenne, on a marre d'entendre ça.
En tout cas, souvent, c'est du cross-off qui fait ce genre de problème.
Et donc, l'Union européenne va mettre en place ce genre de voix
pour dire « arrêtez, maintenant vous êtes responsables,
s'il y a un accident que les avions au sol,
parce que vous avez fait une bêtise,
maintenant vous êtes responsables des dégâts,
et donc la prochaine fois, ça fera tant de milliards
de dommages d'intérêt ».
C'était « crot-side » dans le coup ?
« Crot-side » c'est le mot, c'est le mot.
C'est pas nous.
C'est pas nous.
C'est pas nous.
Donc, ça va être intéressant.
C'est Casper ski qui a fait « bon, on n'a plus le droit d'être
aux US, au revoir ».
Et je dirais « t'es-elle d'autre soft à la place ? ».
Il y a deux choses en parallèle,
l'Union européenne et les US qui font à peu près la même chose,
c'est-à-dire « rendre les boîtes logicielles un peu plus responsables ».
Après le lendemain, on avait
Paul McCanay qui était comme toujours très pédagogue
sur l'explication.
L'année dernière, il nous avait fait une explication
avec du PQ, on avait des gros rouleaux de PQ.
Ah si, pour ça, la photo début de la conne.
En gros, la photo début de la conne, c'était, tu vois,
un énorme rouleau de PQ qui a été déroulé tout le long,
et ça, c'était en gros, si une feuille,
c'est le temps qu'il faut pour faire un cycle,
trois feuilles, c'est pour taper ton cachet à l'un,
neuf le l'un, deux, et t'en fallait une centaine pour le l'autre,
et le rouleau, c'était la rame.
Pour visualiser à quel point l'accès à la mémoire,
c'était stélan.
On avait donc le photoreporting sur,
il y avait encore un petit peu de l'analyse de mitigation.
On avait un outil qui était sympa, qui était Viertmian G aussi.
Oui, ça, c'est pas mal.
Oui, ça permet de tester ton kernel,
enfin, de tester des kernels
sans avoir de systèmes de fichiers dédiés,
par exemple, d'une image, de crée, une VM,
ça prend un temps fou, parce que
il faut lancer un installer, un gros machin,
donc maintenant, on a des images câbles,
mais là, ça permet vraiment de reprendre ton file système
de ton ordi portable, par exemple,
mais de le réutiliser de manière ridonlée,
donc que tu ne feras pas de dégâts.
Et tu peux utiliser des fichiers que tu as localement
pour lancer un nouveau kernel.
Quand tu fais des essais, par exemple,
c'est très pratique pour débugger des kernels,
et tu as accès à toutes tes commandes,
parce que ton système du fichier est monté.
Alors, il faut que ça soit la même architecture,
il ne faut pas que tu fasses du ARM sur du AMD,
mais ça permet de réutiliser toutes tes commandes
dans le local, de lancer ton vume dans ton nouveau kernel.
Je ne sais quoi.
Et en plus, ça démarre très, très vite.
C'est-à-dire qu'il insiste un peu à la Firecracker,
qui permet de démarrer la VM très, très vite,
en passant plein d'états pas forcément nécessaires,
passant initialiser le PCI.
Ce n'est pas un truc nécessaire,
on fait forcément des VM très petites.
Et donc, il me montrait qu'il était capable de démarrer une VM
et d'avoir un shell en moins d'une seconde,
ce qui était quand même super, super fort.
Il avait un shell, il avait rempli d'un emploi,
il avait mis direct au unit égal binésage.
Oui, c'est ça, oui.
Unit égal binésage, mais en fait, le temps de boutter un kernel,
même sur une Raspberry, ça met plus qu'une seconde.
En fait, ça permet, par exemple,
de faire des bisectes qui permettent de trouver des bugs
en allant très, très vite,
en démarrant plein de kernels.
Ça a l'air très marrant.
Et clôt, c'est juste, je fais des guillemets.
Je réplique des guillemets,
on se comporte à la vidéo,
c'est juste un peu en tour de QMU.
Il a rempli la salle de vertu,
mais il met les bons flags.
Oui, c'est ça.
En gros, il prend QMU,
il monte ton système de fichiers,
il passe en read-on-ly,
et tous les vrites que tu fais,
puisque tu as besoin de faire des vrites,
ça sera dans un overlaifest temporaire
qui sera jeté à la fin de l'AVM.
Du coup, c'est assez malin.
Ça t'évite, ça simplifie pas un peu de choses.
Le fin de journée, on avait un coup,
je vais même prolonger son prénom,
je l'ai désolé,
Vlastimil Bagba,
qui avait fait un talk qui était,
pour certains, un peu dense ou dur à lire,
mais qui était extrêmement intéressant,
parce qu'il expliquait vraiment le détail
de procs, même infos,
à quoi correspondaient chacune des informations
qui sont dessus.
Donc apprendre un truc plus simple,
lire ton free.m,
d'ailleurs, qu'est-ce que ça correspond.
C'est intéressant.
J'ai la règle de base,
et pour le kernel,
une mémoire libre, c'est de la mémoire gâchée,
qui va la s'en servir
pour mettre du buffer,
accélérer des trucs d'ailleurs.
C'est pour éviter.
Et ensuite, pour plein d'exemples,
derrière très taillés,
pourquoi la RSS,
c'était pas toujours réel, etc.
Le lendemain, on avait,
ce qui va dans le tête,
qui serait connu par les habitués,
qui, principalement,
le créateur de F-Trace,
de bugger et de plein de modifications
sur le kernel real-time principalement,
et il expliquait comment
le kernel real-time avait mis peut-être
15 à 20 ans pour être intégré mainline,
c'est-à-dire que le patch exige depuis très longtemps,
mais énormément des features qu'on utilise maintenant,
et qui sont vraiment,
que, soit du point d'utilisateur,
typiquement le Nohage ZedFull,
ce qui permet de désactiver complètement le TIC,
donc en gros, je reprends.
C'est ce que tu peux expliquer,
ce qu'est le kernel real-time peut-être,
et du coup, tu peux expliquer les TICs, tu vois.
Alors, c'est un très bon point.
Le kernel real-time,
c'est pas un noyau qui peut rapide.
Le real-time, vous entendrez le mot real-time
dans les process,
où il faut que le temps de gestion soit toujours fixe.
C'est-à-dire qu'on veut le moins de délais ou de biens.
Dans le real-time, c'est effectivement
que tu ne veux pas avoir le meilleur qu'à possible,
comme il dit, it's the best worst case scenario.
Ce n'est pas le plus rapide,
mais ce sera le plus rapide en cas de problème.
Typiquement, c'est utilisé dans
les circuits dans les process industrielles,
les robots, dans les voitures, dans l'aéronautique,
dans tous les process où tu n'as une contrainte
ou tu ne peux pas être hangue du tout.
Je vais montrer une contrainte, typiquement,
où il y avait une ligne de production de fruits.
Et si tu avais des fruits qui étaient un peu pourris
ou quoi, il y avait des caméras qui allaient les détecter
et les dédirer.
Et le problème, c'est que si tu ne fais pas ça en temps et en heure,
les fruits défilent tellement vite,
c'est plusieurs milliers, je ne sais pas, par minute,
que si tu ne répond pas assez vite et que tu demandes
d'éjecter les fruits mais trop tard,
tu vas éjecter le fruit d'après,
ce qui était bon en fait, parce que tu n'as pas répondu
en temps et en heure à envoyer la commande du système
pour éjecter un fruit pourris.
Donc, ça te permet de répondre en temps et en heure
de faire quelque chose qui, si tu ne fais pas en temps et en heure,
peut être plus ou moins grave.
Éjecter un fruit, pas bon.
Si tu avais des robots de peinture et si le robot
lance la commande de peinture après avoir brûlé,
c'est à dire que tu vas peindre à côté,
tu vas peindre le collègue, tu vas faire un fruit.
Même pour les fruits, si les fruits passent,
du coup, ils apportent un peu tout le stock.
Effectivement, il avait montré ça pour les fruits,
c'était que ça coûtait très cher de mettre
un fruit pourri en stock parce que ça pourrissait
tous les autres fruits et donc du coup,
ça pouvait avoir des conséquences financières assez graves.
Du coup, le temps réel, c'est vraiment
tu dis, il faut dégager le fruit et tu sais
que l'action sera exécutée après tendre
une mise en place.
En fait, tu as un worst case et si tu le fais
cet action après ton worst case, par exemple,
éjecter un fruit, si tu le fais 20 millis secondes après
que le fruit soit passé, c'est trop tard,
tu vas éjecter le fruit d'après. Donc, il faut
répondre en temps et en heure. C'est pas une histoire
de faire des calculs plus vite ou d'aller plus vite,
c'est une histoire de répondre en temps et en heure.
Ça tout est un peu plus long, mais tout répond
toujours dans la même durée.
Donc, du coup, tu parles de l'audio parce qu'en fait,
le truc de l'audio, c'est si tu as
une vidéo, ta machine qui est un peu chargée,
tu vas avoir ta vidéo qui va
la guér un peu, tu dis c'est pas grave,
mais du son qui s'accade, c'est une horreur.
Tu n'en comprends rien, il y a un truc
qui est très important, c'est pas vrai que le buffer
en plus du audio, il ne peut pas être énorme parce que sinon
il désynchronisait par après vidéo.
Le real time, c'est vraiment une contrainte de temps,
il faut répondre au stimuli en moins de
x au maximum. C'est ça le contrainte.
Du coup, il y avait
les features, les patches qu'ils avaient rajoutés
pour répondre à ces trucs-là. Donc tout ce qui est
High Precision Timer,
parce qu'avant,
pour les latences, quand tu faisais un slip,
quand tu voulais l'attendre un petit peu,
ton unité minimal,
c'était un hertz, c'est-à-dire le tick du
skill de l'Oula. Donc le coup, c'est-à-dire que
l'unité minimale que tu pouvais attendre, c'était
1 millisecond. Tu pouvais pas descendre en tout.
Si tu faisais un slip, par exemple,
de 100 pour dire je vais attendre 100 microsecondes,
non, non, tu attendras 1 millisecondes parce
que c'est le temps auquel
le truc sera rappelé.
Il y avait plein d'autres trucs pour tout le monde,
genre ton laptop,
il a pu gagner
en économie d'énergie parce que derrière
il y a un des gars qui avait fait
le patch, le NoHZ
full, c'est-à-dire que
il n'a plus pas eu le temps que ton laptop
s'est pas en train de compiler des choses.
Du coup, il dit en idle et tu veux juste qu'il consomme
le moment possible. Si tu me fais rien,
parfois il va quand même te réveiller 1 000 fois par seconde
pour ce qui est du l'art, pour chaque cp.
Du coup, ils se sont dit bah, ça sert à rien,
ça gère du bruit pour rien et ça consomme
de l'énergie, ça empêche, je ne sais plus de se mettre, on va y prolonger.
Donc du coup, on va à trouver un moyen
de désactiver. Au début c'était NoHZ,
il répondait que 1 fois par
seconde, il t'aurait eu 1 fois par seconde
de 1000 et après, NoHZ
fut complètement en éteinte
en tant qu'il n'y avait pas de process qui voulait tourner dessus.
Il y avait énormément de
figures patch.
Alors ça, c'était encore autre chose, ça m'a mort
plus tard, mais maintenant, tu peux également
évidement le time wheel et beaucoup de features
étaient lancées sur cpu0
mais après, ils ont réussi
à le rendre
mâti. C'est un intérêt sur le laptop
mais ce qui a permis le merge
de cpu0, c'était un serveur
où il y avait des scalers
qui avaient plein de serveurs qui ne faisaient rien
mais ces serveurs ne pouvaient pas rentrer
en deep sleep, en peste state
parce qu'il était réveillé
par le kernel.
Ce qui a permis de financer le développement
de ce genre de trucs, ce n'était pas les utilisateurs
avec le laptop. Mais c'était les grosses compagnies
qui avaient plein de serveurs qui disaient que ça coûte très cher,
ça coûte tant d'euros d'électricité par mois
et du coup,
c'est les gens qui avaient des serveurs qui ont demandé
ce que les serveurs arrêtent d'être réveillés quand il n'y avait rien à faire.
En fait, on se rend bien compte
les laptops
pour que le batterie
tourne le plus longtemps,
il y a la unité
de l'écran qui est en train de jouer, etc.
Mais l'un des gros consommateurs, c'est le cpu0
et si tu peux, avant le plus d'emplacipes,
les cordes de cpu0
qui ne prennent pas de power qui sont éteints
en deep sleep, comme vous le dites,
ça se garde énormément
en plètre de batterie. Après, j'ai vérifié
sur mon laptop et ce n'est pas activé par défaut.

si je fais un power top sur mon laptop
et je demande qu'est-ce qu'il réveille plus souvent de cpu,
en top 1, je vais avoir
Tic, parce que Tic va réveiller mon laptop
tant de fois par seconde
et après, mon laptop ne réveille pas rien d'autre
parce qu'il ne fait rien.
Et du coup, j'ai encore le Tic qui réveille mon laptop.
Je ne sais pas quand est-ce qu'on pourra utiliser ça
sur les laptops ou encore des éléments qui bloquent, mais
à suivre.
Après, on avait
dans l'un de les styles
les scan text.
J'ai l'impression qu'il y avait beaucoup de scan du link
sur les 3 de l'autre.
Il y avait beaucoup de realtime,
parce que c'était justement la 6.11.
C'était le moment où ils ont pu faire
enfin la cérémonie de
Merge complet de tout le patch realtime
qui traîne depuis 40 ans.
C'est...
Là, il a donné la Merge Request.
Il a donné
officiellement...
C'est pas la 6.12.
Je vais clier une autre con.
C'est le shed X.
Je peux en parler après.
C'est sympa.
Je ne peux pas y éviter du reboire
de la plumberge.
Le passage, la passation.
J'ai vu les photos,
mais en gros, c'est le mainteneur du patch RT
qui maintient ça depuis 10 ans et crée.
Il ne faut pas aller le Merger.
Ça commence il y a super longtemps.
Et du coup, à chaque fois, il devait maintenir le truc.
Il y avait un nouveau truc dans le kernel.
Ça a cassé, il devait tout refaire.
Et donc, ils ont fait tellement de défauts.
Il y avait le kernel Linux,
il y avait un comité de gens
qui ont fait un élevé de terrain.
Des personnes...
Pour faire mesure des emmulations
qui ont été...
M morceaux par morceaux, ils ont réussi
à intégrer tous les changements dont ils avaient besoin.
C'était des gens de l'industrie
qui avaient des besoins différents
que des gens qui lançaient des serveurs.
Et du coup, ils poussaient pour avoir ça,
pour éviter d'avoir à maintenir
deux trucs séparés.
Et donc, là, ils ont fait une passation
de pouvoir qui a été prise en photo
où ils ont une merge équaisse
qui est vraiment écrite sur une feuille d'or, je crois.
Une feuille d'or où les dors, par contre.
Et donc, il y a un passage de feuille d'or
entre Linux Torvalds et la maintenance.
Enfin, c'est le mainteneur qui donne
la feuille à Linux Torvalds pour lire.
Si tu merges ça, ça y est, on aura fini.
C'est la fin de 20 ans de travail.
On aura réussi à mettre ça
dans Linux pour...
Il n'y a pas de choix des gens.
C'est marrant parce qu'il n'y a pas si longtemps
que je vais retrouver rien à s'aller au Audacity.
Et je me suis dit, tiens, ça serait marrant.
Est-ce que ça change quelque chose dans mon Audacity ?
De façon très très naine, j'entends.
Et là, j'ai commencé à regarder pour Linux RT,
et j'ai été en mode...
Non, je verrai plus tard.
Alors, un des premiers tours,
justement, de Steven, enchestette là-dessus.
Donc, il y avait des deux principaux,
c'était enchête, les Temes à Glacier,
qui étaient les deux principaux.
Un des premiers tours que l'on peut trouver
sur le net facilement, c'était
What is Linux RT and what you don't need it ?
C'est pas à Toruscat.
Comme disait, c'était principalement du tout
industriel, du bancaire, du flat finance,
ou des trucs comme ça.
Pour l'audio, ça peut avoir du sens, mais...
C'était pour lancer Audacity pendant 2 heures.
En ce cas, on va en jeter dans l'analystique.
La classe, la classe real-time.
Ah !
Mais il n'est pas cherté, oui.
Ce que disait, ça a du sens dans l'industrie,
dans les machines.
Mais toi, à faire du Audacity,
c'est peut-être un peu too much.
Il y a d'autres solutions,
par exemple, le low latency,
qui va permettre de réduire la latence,
ou les nouveaux schedulers dont on va parler,
qui permettent aussi de réduire la latence
de certains process pour avoir de l'audio.
Alors, pari et le time, ça veut dire que
tu n'auras pas la garantie que ça va arriver
en moins de temps de mes secondes.
Mais si ton système n'est pas surchargé,
ça sera plutôt ok.
C'est pour anecdote, parce qu'il y a quelques mois,
je me suis dit, tiens,
qu'est-ce que ça donne, tu vois ?
L'innuxerté, oui.
J'ai vu que je fallait que je télécharge
un host code.
Non, mais au but de tout, on y est,
l'innuxerté.
J'ai envie de dire, parlons de ce qui du lui.
Atacom,
un petit peu...
Oui, il y avait des présentations,
du coup, récipits sur Skatec.
Skatec, c'est un truc
qui permet de
décrire un scheduler en IBBF,
on en a parlé dans l'épisode précédent.
Et donc, ça permet
d'écrire des programmes qui vont
en fait, un scheduler, qu'est-ce que c'est ?
Le kernel, il va prendre toutes les tâches
qui sont disponibles dans le système
et il doit prendre la décision de
quoi exécuter.
Même si vous avez 300 tâches en cours,
vous n'avez que 8 coeurs, et donc, à mon donné,
il faut choisir quelques.
Et donc, ça, c'est fait dans le kernel,
ça a toujours été fait dans le kernel,
mais Skatec permet de faire ça
avec des petits programmes BPF.
On peut changer, on peut charger,
on peut décharger, et du coup, ça permet
de faire des petites
expérimentations assez facilement.
On peut charger un nouveau système
qui va, par exemple, donner plus de priorités
en fonction de tel ou tel agoré,
se rendre compte que ça ne marche pas très bien
ou qu'on s'est trompé de valeur,
on le décharge, donc on repasse sur le scheduler
et on le recherche sur nos programmes BPF
et donc on peut retester comme ça sans skiduler
sans avoir à redémarrer.
Avant, les gens qui faisaient ça, ils devaient
recompiler le kernel, redémarrer,
voir si ça marchait, et si ça ne marchait pas,
toutes leurs systèmes étaient frisées
parce qu'il n'y a plus de skiduler pour prendre la suite.
Alors que là, il y a un système de sécurité
qui fait que si le skiduler ne répond pas,
ça va redonner la main au skiduler du kernel.
Et donc, il y a plein de choses qui sont en cours
avec ça, et d'ailleurs,
ça a été mergé sur
612.
C'est émergé sur 612.
La 612 va être très grande pour avoir
pas un épisode de suite.
Oui, la 612 va être beaucoup plus
intéressante que la 611.
Et je vous le souviens,
ce qui est le fait par META, je crois,
c'est que j'en prends de là.
Alors, c'est fait par plein de gens différents
qui sont en différents boîtes, c'est utilisé par META,
NVIDIA,
et donc META et Google s'en servent,
je crois que Google, ils ont réussi à avoir
des augmentations de perte de
META, annoncée, je crois, 5 à 10%.
Et Google Search,
qui a à peu près ces mêmes ordres de grandeur,
parce qu'en changeant
un peu la politique
de répartition des tâches,
ils arrivaient à avoir
des process qui avançaient mieux.
C'était sur l'or,
voir qu'au-deveuse, c'était ce skidulure qui était écrit pour l'or,
pour le board.
Exactement, c'est l'intérêt de ce genre de choses.
Dans Linux avant,
tu avais un seul skidulure
ou deux, mais tu ne pouvais pas
créer un truc aux petits oignons en fonction de
ton... et bientôt on pourra
générer le BGF
qui skidule avec une IA
qui observe le workload.
Alors,
on y arrive plus loin,
parce qu'en fait, dans la présentation
Skiduck, à la base, tu écris un programme en BPF,
mais c'est un programme qui ne peut pas faire d'IA,
parce que c'est un programme qui a beaucoup d'imitations,
parce qu'IBPF a des limitations
et tu ne peux pas faire ce que tu veux en IBPF.
Mais par contre, il y a quelqu'un
qui a écrit quelque chose
d'assez malin, c'est-à-dire que,
au lieu de prendre la décision de quoi
faire tourner en BPF dans le kernel,
il va aller demander un programme en Userspace.
Et du coup, là, tu n'as plus aucune contrainte de BPF,
parce que tu es sorti de la partie kernel.
Et donc là, tu ne peux pas faire du machine learning
sur ce qui tourne, alors
c'est écrit en Rust, mais tu peux
faire du machine learning en Rust, par exemple,
et tu peux dynamiquement adapter ton système.
Si tu vois qu'il y a certains parterres qui énergent,
tu peux aussi détecter si tu es en train
de jouer un jeu vidéo, tu passes à quelque chose.
Après, si tu détectes que tu ne fais plus du jeu vidéo,
mais plutôt de la compilation, tu vas aller changer la politique.
Et tout ça, ça devient possible.
D'ailleurs,
pour la démo, il y a ce que nous avait,
dans les outils qu'ils utilisent et qui sont très intéressants,
parce que d'ailleurs, c'est une contrainte assez particulière.
On a écouté le petit perfetto,
perfetto.dev.
Super intéressant, ça.
Il peut permettre de l'OD, t'as un stack trace,
avec tout tes coeurs, et pour être baladé dedans au FGL,
il n'y avait plus d'une façon fluide.
C'était vraiment...
Il montrait le cas justement avec un jeu vidéo Terraria,
où en fait, quand tu zoomais suffisamment
dans le truc, tu voyais que Terraria
était lancée toutes les 16 ms.
Pourquoi ? Parce que ça tournait à 60 fps.
Du coup, toutes les 16 ms, Terraria
prenait la main pour afficher une image.
Et même que si tu zoomais encore plus,
tu voyais les traites de Terraria
et il expliquait que les traites
étaient probablement par instance.
Et donc, tu pouvais même voir le trade
du truc qui allait gérer
un oiseau,
ou un hibou, ou un zombie qui vient de t'attaquer.
Enfin, tu peux vraiment descendre
très, très, très là.
C'est le carnel quand tu te migrais.
Tu voyais aussi le carnel qui prenait ton jeu,
qui allait l'envoyer sur un dot-curve,
donc ça faisait un petit...
Tu voyais G-Bose ou Parmeil-Peteur.
Et justement, c'était un point
qui montrait que quand
tu faisais du jeu vidéo, t'avais pas que Terraria
qui tournait, mais t'avais aussi Gnome
qui donnait la main Terraria.
Et ensuite, t'avais Terraria qui demandait à X-Wayland
d'aller afficher ce qu'il avait calculé
dans une image.
Et du coup aussi avec le scheduling,
si tu optimises que Terraria,
tu vas toujours avoir une Homme qui va attendre
et tu vas avoir X-Wayland qui va m'attendre.
Donc, en fait, quand tu optimises pour les jeux vidéo,
ils arrivent à détecter ce genre de dépendance.
T'as un système de calcul de dépendance
dans un des sculteurs qui fait que
tu ne vas pas prioritéiser que Terraria,
mais aussi X-Wayland et Gnome
pour que tout aille
plus vite. Donc, c'est vraiment super malin.
– Gignol à 6.12. – Ouais, 6.12.
Après, en 6.11, on a quand même eu
des petites nouveautés sympas.
– Bah, parlons donc. – Ouais.
S'il y a plus qu'on a qu'il fait des transitions, il faut pas le faire.
– Ouais, tu vois, j'ai fait un truc.
Par exemple, on a eu des améliorations
sur le RIS5.
– Donc, la 6.11,
elle est sortie il y a quelques semaines
parce que la prochaine version
de Bound2 fournira la 6.11.

– Et ça sera 6.11 dans Wound2 oracular.
– Donc, c'est octobre ou Wound2.
C'est toujours octobre et rail. – C'est ça, ouais.
C'est toujours en 04 et 011, ouais.
– C'est le septembre. – C'est septembre.
Donc, ça arrivera avant Wound2 oracular.
Et on a eu, par exemple, du RIS5.
Alors, en 6.10, on a vu le support de RUST
qui avait été ajouté pour RIS5.
Et là, en 6.11,
on a le memory hotplug.
Donc, RIS5, c'est un peu l'évolution
de armes qui permet en gros
d'éviter de payer des droits
à armes parce que c'est open source.
Et du coup, c'est…
– C'est un CPU. – Ouais, c'est un CPU.
Ouais, ça remplace
X86 et Armes
qui étaient la version un peu plus
low-power, enfin, qu'on avait dans les téléphones
et tout ça. – Et pour le coup,
parce que c'est l'architecture
risque des CPU comme ARM,
alors que c'est du 6,
c'est ça, je ne sais pas comment le demander.
– C'était du 6 sur X86, mais maintenant,
le X86 est aussi devenu du risque
parce que ça va plus vite. Et s'il voit
une instruction qui est très complexe, par exemple,
Racine Caret, ils vont aller lémuler
avec plusieurs instructions 6,
un microcode qui va traduire
une grosse instruction 6 en petites instructions
risques. Donc, maintenant, tous les processeurs
quasiment font du risque parce que c'est plus rapide.
– En interne, on est là. – Ouais.
Donc, RIS5, le nom vient de là, c'est
un processeur risque, mais du coup,
qui est complètement open et les gens peuvent le copier coller,
le fondre même et…
– On peut rappeler
rapidement la différence
entre les deux. – RIS5 et ARM ?
– Ouais. – C'est ça ?
– Non, entre risque et risque parce qu'on en parle
au tout à l'heure. – Oui, c'est vrai qu'on en parle comme ça.
– Pour moi, le risque part du principe que
toutes les instructions ont la même taille.
– C'est ça, hein ? – Reduce,
que l'instruction site est complexe.
– Reduce, ça veut dire que
à la base, il n'y avait pas ces deux notions
de 6 et de 3, c'est que tu avais Intel
qui avait son jeu d'instruction.
Et plus les processeurs évoluaient,
plus Intel rajoutait des instructions.
– Bien sûr, les préstations. – Si tu voulais,
par exemple, faire une raffine carrée,
tu devais la faire toi-même en faisant
un algorithm qui allait calculer, faire des plus,
des moins, des sommes. Pareil, si tu faisais
des divisions, par exemple, faire une division,
c'était compliqué à l'époque avec
des processeurs assez vieux.
Et donc, ils ont rajouté un circuit
pour faire des divisions. Après, il y a des gens
qui ont commencé à faire des maths. Donc, ils ont rajouté
un circuit pour faire des raffines carrées, pour
mettre des noms au carré pour faire plein de trucs.
Et ces instructions-là, prenez un temps fou
parce que c'était une instruction raffine carrée,
ça pouvait prendre 20-30 cls
juste pour réussir à faire cette instruction.
Et du coup, après, il y a Arm.
Arm, c'était Accorn Risk Machine,
soit c'était une boîte anglaise,
UK, qui
avait un ingénieur très malin,
qui s'est dit, je vais faire
moins de choses. J'ai pu faire
de raffines carrées tout ça dans mon
d'assembleur. Donc, des gens qui veulent
faire des raffines carrées devront le faire à main, en en déploie des moins
des divisions. Mais je vais le faire plus vite.
Et du coup, c'est là qu'elle a introduit
la notion de risque contrairement
à Cisco, parce que le jeu d'instruction Intel
avait tellement évolué qu'il y avait, je crois,
1000 instructions.
Avant de me donner dans le manual Intel, t'avais
1000 instructions différentes.
Donc, tu avais quasiment jusqu'à 1000 instructions
en Cisco et donc, elle, elle a dit,
je vais en faire beaucoup moins, mais je vais les faire
plus vite. Donc, il y avait, je crois, au début
que 40 ou 50 instructions et tu avais
les plus les moins la division, parce que
la division ça reste utile. Mais, par exemple,
tu n'avais plus de raffines carrées et du coup,
effectivement, ça allait plus vite. C'est-à-dire que même si tu faisais
une grâce à une carrée toi-même à la main,
on se rend des plus des moins, vu que tout ça
allait plus vite, en fait, tu pourrais réussir
à finir ta rassinée.

Tu as une carrée plus vite que en demandant
hardware.
Tu as une carrée et tu génères les instructions
avec ton compilateur.
C'est ça. En fait, tu le tapes à toi-même,
sauf les gens à l'époque qui faisaient de l'assemblure.
Mais en C, tu tapes, je ne sais pas, SQLT et derrière,
ça allait générer les plus les moins
directement.
Il y avait aussi un peu comme,
juste un certain sort d'instruction,
on avait une tèche, on avait une tèche,
etc. Si c'était tellement variable,
d'instruction, on pouvait très bien prendre
un lite
un gâte.
En fait, du coup, quand c'est vu
de VALFETCH, la prochaine instruction,
il ne savait pas à quoi ça attend.
Du coup, il faisait un peu ce qu'il pouvait.
Alors qu'en ARN, c'est fixe.
Oui, oui.
C'est fixe et du coup, il ne sait pas
si c'est bien que tu as fait chez X.
Il n'a pas besoin de calculer combien,
dont tu peux avoir la notion d'instruction
et de cache, où tu vas stocker
toutes les instructions à la suite et tu sais
que tu as juste à faire un jump,
quoi. Tu n'as pas besoin de calculer
l'instruction précédente qui te ferait perdre du temps.
On a un nom d'instruction et autre.
Tu as une table qui est appelée Agnerfog,
enfin, le gars s'appelle Agnerfog,
et c'est ce qu'on appelle les Agnertable.
Il te référencie tous les instructions
possibles des différentes architectures,
différents modèles, etc.
Lors de la tente, le nombre de sites
qui prennent et combien de temps
de la tente, tu peux avoir ton résultat, etc.
C'est une ture.
Pour ceux qui s'intéressent, oui, c'est sûr.
C'était quoi, là ?
Agnerhagenware.
Agnertable.
Et ton dessus, c'est un pdf qui fait plusieurs pages,
mais tu te ronds.
J'avais eu le pdf d'Intel avec toutes les instructions,
il y a eu beaucoup de pages.
Les instructions d'Intel ne te donnent pas le détail,
et lui, il va les calculer.
C'est vrai que tu n'as pas forcément le nombre de sites.
Dans cette pièce,
la lecture sur la table cheveler,
c'est l'émanueil d'Intel,
mais je n'ai pas le temps.
On recommande en pdf pour sauver la planète,
parce que ça fait beaucoup de pages.
Dans les nouveautés par rapport à
risque simple,
tu disais que dans la version d'avant,
on ne l'avait pas mentionné, mais il y avait un support
de Rust.
En 6.10,
Rust a été ajouté pour East 5,
mais Rust marche depuis des versions précédentes
sur ARM
et sur AMD 604.
Et du coup,
ça fait une plateforme de plus
qui est supportée.
Sachant que de mes mots,
une plateforme de plus,
je ne m'en souviens pas.
En plus, il me semble que le compilateur
de Rust supporte aussi Rust 5
de base, qui fait qu'on a vraiment
le support de bout en bout,
qu'on peut faire de Rust 5 vraiment,
avec un compilateur qui supporte ça,
et aussi un noyau qui supporte ça.
Je ne crois pas que le Rust supporte en tier 1,
ce qui est là.
Oui, il y a des tiers, tu as tier 1
et tier 2, tier 3.
Quand tier 1, on a AMD 604 et ARM 604,
peut-être que Rust 5
ira en tier 2, mais il devrait peut-être
passer tier 1 en un moment donné,
quand on aura vraiment du hardware, j'imagine.
Et du coup, memoriaud plug
en 6.11 qui a été rajouté
à Rust 5, non qu'on pourra maintenant
s'amuser à racher des barrettes de RAM
sans avoir un système qui plante.
Pour les gens qui font ça.
Et c'est beau, en parlant d'arracher,
non, cette transition
ne va nulle part Arnaud.
Alors oui.
Par contre,
il y a des IOU ring qui va quelque part.
Oui, effectivement,
ça va sur le réseau.
Ils ont ajouté dans IOU ring
le support de pouvoir bind
et listen sur un port.
C'est-à-dire que
grâce à ces 2 nouvelles actions,
vous pouvez avoir un point
de vue à priori démarrer
un serveur qui fait du réseau
juste en opération IOU ring.
En fait, vous aurez plus besoin de faire un dout,
6-call.
Je pense que le moment de sa addition
mieux se permet de continuer
de s'intéresser dans l'écosystème
de voir un réseau en contre ici
pour continuer de bâcher ces 6-calls.
Peut-être vous faites beaucoup de bind
et listen.
Effectivement, j'allais dire
si tu fais ces opérations plein de fois,
ça peut être avantageux.
Je ne sais pas quel workflow de faire ça.
Peut-être un proxy.
J'avais quelqu'un qui m'avait parlé
qu'il avait eu beaucoup de ports ouverts
pour faire ce genre de trucs.
Vous pouvez maintenant bind et listen
et avoir un serveur full.
Sans faire le 6-call,
bind et listen était avant
des 6-calls séparés,
maintenant on peut mettre dans la queue
6-call de IOU ring.
Je ne sais pas si on peut les mettre dans la queue
ou si on va faire propre.
Je ne sais pas trop comment le détail
fonctionne.
Dans les trucs un peu marrons,
on disait qu'il y a quelques petits trucs
cool mais pas tant que ça dans la 6.11.
C'est pour ça que tout le monde attend
la 6.12 qui a l'air d'annoncer
des trucs très très fun.
Il y a quand même un truc drôle.
Ça s'appelle
the Sloppy Logic Analyzer.
C'est un analyzer logique
pour les gens qui parlent le François.
Et donc un analyzer logique,
ça permet d'aller voir ce qui se passe.
C'est un peu comme un oscilloscope.
C'est-à-dire qu'on branche des choses.
Et l'analyzer logique, au lieu d'aller voir des tensions,
par exemple, j'ai pas ma 0, 5 volts,
il va plutôt voir des 0 et des 1.
Donc c'est un oscilloscope un peu bad-gamme.
Et donc, c'est quelque chose
de très très bad-gamme. Le Sloppy Logic Analyzer.
Sloppy, la traduction d'anglais,
je...
de mauvais, peut-être.
Un long de ça, mauvais.
Pas ouf.
Ouais, mais c'est genre
Sloppy Work,
c'est celui de Malphèque.
Oui, Malphèque, oui.
Enfin, je vais l'utiliser pas.
C'est à l'arrache, on peut le dire.
Donc c'est l'analyzer logique à l'arrache.
C'est-à-dire qu'on peut utiliser
des GPIO, c'est-à-dire que c'est
des pins, un processeur
qui permettent d'égliger.
D'égligeant, d'agréable.
Et donc, c'est des pins
sur le processeur qui peuvent être utilisés pour plein de choses,
typiquement pour allumer 8h de délai.
Et on peut servir... ou pour lire
quand on a pu sur un bouton,
les GPIO. Et on peut servir
de ça pour aller lire ce qui se passe
sur ces GPIO. Et donc,
si on a un système, par exemple, qui est très très loin,
on a l'ASCA, je ne sais où,
et qu'il y a quelque chose qui se passe
et qui se passe bizarrement, et qu'on n'a
qu'une connexion à cette carte en SSH, par exemple,
et qu'on veut savoir ce qui se passe niveau électronique,
niveau 0 et 1. Parce qu'on
suspecte qu'il y a un problème dans l'envoi des données
ou qu'il y a quelque chose qui n'a pas.
Et bien, plutôt que de prendre
l'avion et d'aller à l'autre bout du monde pour aller brancher
quelque chose pour savoir ce qui se passe, ce driver
est introduit pour permettre aux gens qui font du caramel
de faire un truc un peu cracras
mais qui marchote, c'est-à-dire
d'aller brancher les GPIO
sur les bus qu'on utilise, par exemple,
pour voir ce qui se passe
sans aller devoir brancher un équipement
et devoir aller ouvrir la carte
et potentiellement aller dans des endroits clients
pas très accessibles.
Et donc, ça ne remplace pas un an et les horlogiques,
parfois, enfin, ce sera sans doute nul
parce que ce ne sera pas real-time,
parce que ça va rater des trucs, parce que
voilà, mais c'est mieux que rien.
Et ça permet de se faire une idée de ce qui ne va pas
sans forcément devoir aller sur le place.
C'est une première étape, quoi.
Je ne pense pas qu'on pourra faire mieux,
mais c'est une première étape dans
l'investigation pour éviter de devoir aller brancher
un équipement, ce qui peut coûter très cher
quand on a des devices, c'est ce qu'on
s'envoyait partout dans le monde
et qu'il faut aller monter en haut d'un poteau
de 75 mètres pour aller brancher un analyseur.
Donc, à suivre,
si il y a des gens qui utilisent Slopeel
ou Geek Analyzer, ça fera intéressant
d'avoir des rotos. Ça ne me rappelle pas,
il faut que j'ai rencontré un mec qui avait monté
une boîte où il venda
des... il était dans la « grey economy ».
Quand tu vendes des trucs au vieux.
Ah, fiches.
« The grey economy »
ou en gros, ils vendaient des...
comment ça s'appelle ?
Des scanners
où tu mets ta feuille, tu appuies sur un bouton
et les trucs sont préconfigurés pour l'envoyer
genre, à ton fils ou à ta fille.
Ou à ton docteur.
Ou à ton docteur, qui va s'occuper
d'envoyer le vrai mail parce que
t'es vieux et tu ne sais pas utiliser ces trucs-là,
ça t'embaique l'informatique.
On t'appuie dessus et après tu appelles ton enfant.
Oui, je t'envoyais ça.
Non mais plutôt de l'appeler pour dire
« viens à la maison, il faut que tu me scannes le truc ».

Ou lui envoyer une photo dégueulasse avec ton 3310.
Tu prends le truc bien.
Et il avait eu un problème
où il utilisait je pense
du Gmail ou je ne sais pas quoi comme
SMTP par défaut.
Et il y avait eu un changement
d'API, je ne sais pas trop quoi.
Et il n'avait pas prévu la mise à jour à distance.
Alors le mec
était très dans le contact
et c'était sa petite boîte dans les Yvelines.
Il a pris sa voiture
et il a passé deux jours à faire le tour
de 100 clients.
C'était sur un petit truc.
C'était une de ses activités.
100 clients pour aller mettre à jour
le firmware.
Il en a profité pour installer un truc qui permettait
de se faire des choses à distance.
Il y a plusieurs niveaux effectuant les mises à jour à distance
mais là on arrive dans un état qu'on peut
débugger à distance.
On peut déjà débugger à distance avec JDB
ou je ne sais pas.
Mais là de faire du debug hardware c'était vraiment
des zéro et des un qui passent
sur des files.
C'est plutôt cool.
Et en termes de debug
il y a d'autres choses qu'on peut débugger
avec ce nouveau noyau.
Et tu voulais nous en parler aussi.
Oui, alors c'est pas vraiment du debug
mais pour revenir à Rust
on a célébré
pendant le carnet recipe
l'arrivée de NullBLK
en Rust.
C'est rien d'exceptionnel. NullBLK c'est un peu comme un Dove Null
ça permet d'écrire en un driver
qui ne fait rien.
Sur Linux on a deux types de drivers. On avait
des drivers de type caractère
qui vont lire caractère par caractère
donc à la suite c'est Rial.
Et on a des drivers de type blocs qui vont marcher bloc par bloc.
Donc quand il se que dure tu ne vas pas lui demander
d'écrire un 0 à un 0.
Tu vas lui demander, écris-moi tout ça d'un coup.
Et donc le NullBLK c'est un driver
qui fait rien comme Dove Null
mais au niveau bloc.
Donc ça s'appelle un slash de slash B Null
ou je ne sais plus j'avais une pêche de doc.
Et du coup ça a été réécrire en Rust.
Alors ça a pas l'air
ouf comme ça
parce que si on regarde le patch sur la liste
on voit que c'est peut-être 20-30K de Rust
et donc c'est un driver
qui ne fait rien donc forcément il n'y a pas
beaucoup de code. Mais ce qu'on ne voit pas derrière
ce patch
c'est qu'il y a eu beaucoup beaucoup de travail qui a été fait
pour rendre toutes les fonctions disponibles en Rust
et pour pouvoir cacher
toutes les
choses qui se passent au niveau du kernel
qui ne sont pas forcément type top
et du coup le fait de pouvoir écrire
ce genre de driver
alors c'est pas que le NullBLK
va remplacer le NullBLK 1C
ou je ne sais quoi mais c'est que les prochains
auteurs de driver bloc
pourront écrire le driver en Rust
au lieu de devoir passer par le site. Parce que tout a été
mis en place avec même un exemple.
Le screwdriver est un exemple à la base si on lit la doc.
Et donc les gens pourront écrire leur prochain
driver de bloc en Rust directement
avec tout qui va bien, tout qui a été prévu
pour eux. Et en fait la grosse partie
c'était de rendre tout ça disponible en Rust.
En fait ça c'est un travail qui est fait
effectivement sur plusieurs sub-systems
où tu as tout un travail de fond
qui doit être fait et après tu as un
tout petit driver qui arrive
qui utilise une néfiture
mais en fait derrière
comme tu dis il y a tout un travail
il y a ça qui a été le choix pour une nettoire.
Oui il y a certains sub-systems
qui sont assez branchés
et qui du coup
permettent et font un travail énorme
d'adapter
ou la d'adapter le code du kernel
pour que
les prochains puissent écrire en Rust.
Donc effectivement parfois les exemples sont
quelques lignes et sont un peu simples
mais derrière on ne voit pas tout le travail qui a été réalisé
pour permettre d'avoir un futur
moins bugué.
Et je crois qu'il y a quelqu'un d'un de mes recipes
qui disait aussi d'ailleurs que
pour l'instant t'as l'impression que Rust
ce n'est pas vraiment là
ça fait des années entre guillemets
j'ai déjà deux ans que je supporte Rust
et Niett
n'y a toujours pas une seule réapplication
Alors il y a une vraie application
mais qui n'a pas été émergée c'est les drivers
de Asseye
JPLU Mac
ça n'a pas été émergé
et du coup ce que disait
je crois que c'était vrai qu'il disait ça
ou peut-être bien l'unus ailleurs
il disait que
en fait on jugera de si Rust était un échec ou pas
dans un coup de temps
C'est Orwell Dimson qui disait ça
qui disait que
quand le driver, quand lui il a commencé à oncer
c'est pareil quoi, c'est à dire qu'il n'y avait pas grand chose
et que c'est exactement le même cas que ce qu'on a Rust
exactement
Ce qu'il ne le disait
au delà des problèmes de ce qui sont des guerres de clochiers
et autres c'est le vieillissement
des mainteneurs du noyau
et c'est un problème pour eux
dans le coup, Thambals, Croix et etc
donc il faut qu'il soit
un peu plus sexy
sur les trucs parce que les développeurs c'est maintenant
qui savent vraiment
ce qu'ils font sur du matériel, c'est devenu très compliqué
les machines sont devenus très complexes
savoir faire du C-Prop c'est compliqué aussi
ou alors tu en as qui ça mais qui ne veulent pas
moi je sais faire du C mais j'ai plus envie
de mettre les mains là-dedans
Il faut en plus que je gère l'outil
pour ne pas me taper
je tirerais une balle dans le pied derrière
mais non du coup il y a eu beaucoup de drama
il n'y a pas longtemps sur
un des mainteneurs qui avait résigné
parce que c'était un problème non-technique
et on avait oublié qu'il y avait
un autre top qu'ils avaient donné à un C-Piz
Daniel Almeida
pour faire des
driver incernel
sans avoir
à faire toute la couche d'abstraction qui était autour
tu pouvais, si tu avais un sub-système
qui était indépendant, typiquement un déco
il provenait exemple des déco-deurs vidéo
un hardware du coup
faire des drivers pour
du hardware avec le déco-deur vidéo
et donc du coup ça permettait de faire
entièrement
de faire directement
toute la partie
transcription
il n'y avait pas besoin de faire des adaptations
il y avait un outil
je me souviens plus c'est quoi ?
oui en fait il créé des fonctions
en rust qui étaient appelables depuis le C
donc il n'y avait pas vraiment de titres
il y avait Bangeen qui permettait
de créer le code rust
à partir des Header en C
donc si tu avais des Header en C
tu pouvais recréer
le code rust
je le dis des fois que
je pourrais expliquer ce qui se passe mais
j'ai jamais rencontré qu'un des micros s'est arrêté
donc j'espère qu'on entend encore Harder
mais tiens c'est encore bon Adrien
Adrien va se rapprocher de Harder
c'est pour ça que
si on est à rap franchement dans la vidéo
c'est normal
en espérant qu'on a entendu ce que disait Arnaud
sur les dernières minutes
en parlant de rust
il y a eu des petits changements
sur les versions minimum
si je comprends bien
c'est ça maintenant la version minimum de rust
demandée c'est la 1.78
oui ça devait être un truc comme ça
je ne sais plus si c'était pour dans sa globalité
ou si c'était...
c'est souvent ils font des mises à jour
dans la globalité
dans tout le système ils font des mises à jour
parce qu'en fait ils expliquaient que
par exemple le support de Haloc
la création de Haloc
ça permet de faire des allocations à Carnell
mais ce qu'il y avait dans la libreuse de base
ils avaient dû forker
d'aller à Haloc et faire plein de modifs dedans
parce que pour le Carnell faire des allocations c'était différent
et du coup maintenant que ça a été émergé
ils n'ont plus besoin d'avoir leur fork
donc ils ont supprimé leur fork d'Haloc
mais par contre ils demandent aux gens de mettre à jour vers rust 1.78
qui contiendra ces changements
directement dans rust
sans avoir à avoir des trucs customisés dans Carnell
donc là
ce qu'en fait je crois que c'est d'y faire ça va
c'est que dans le Carnell
ils maintiennent une version de rust
genre ils ont une tête fichée de la version de rust
oui alors ils demandent une version minimum
effectivement c'est ça qu'ils ont mis à jour
et en plus par-dessus ça
ils ont plein de bidouille pour faire en sorte que ça marche
c'est à dire que les allocs dans Carnell
c'était un peu spécial donc ils avaient bidouillé
pareil ils bidouillent plein d'autres trucs
parce que rust
permet pas encore de faire tout ce qu'ils ont besoin de faire
mais ils sont en étroite collaboration
avec les créateurs de rust C
qui sont les compilateurs de rust
et du coup dès qu'ils ont besoin
les gens du compilateur sont très à l'écoute
en mode ah oui c'est vrai qu'on n'a pas pensé à ça
donc
les deux sont
de communauté très proche
les créateurs du compilateur rust
et les développeurs Carnell
se parlent beaucoup parce que
les deux travaillent sur des trucs assez niches
mais qui sont nécessaires
donc voilà augmentation de la version minimum
et on peut compilé avec un rust
encore plus récent
cool cool
et bien merci beaucoup
je pense qu'on a fait un peu le tour sur la 6.11
je vous propose vu qu'on a perdu un micro
qu'on s'arrête là
on va juste
voilà écouter
Agate nous parler de sa musique de l'épisode
merci son tour
c'est vrai c'est vrai c'est une chanson comme ça
parmi tant d'autres mais
mais je la chante encore ok
enfin j'aime bien cette chanson
elle est dynamique
j'ai su plus de Can Adat mais
c'était 2012 non ?
non je crois que c'est avant ça
2007
ah ouais ok ok
dis nous quelle musique c'est
c'est I Kissed a Girl de Cathy Perry
elle a l'actique de César
pardon ?
elle a l'actique
donc comme quoi ça reste dans la tête
vous comprenez maintenant
très bien donc petit rappel
sur ce qu'on peut vous trouver
sur les réseaux
et sur Twitter
at the black cube
sur Twitter
et moi si on cherche
on me trouve assez facilement
pas sur Twitter mais sur les mailing list
toutes à fait
concerné
et moi
vu du J U D U U
sur Twitter également
sur X sensilement Twitter
comme on est censé dire maintenant
je suis sûr on va se faire strike par YouTube
si on dit pas bien alors
voilà
et sur ce
et bien on vous souhaite
je vous remercie beaucoup
déjà d'avoir participé
merci
ces deux épisodes
nous avons raconté toutes ces choses
super intéressantes
et
merci aux gens qui nous écoutent
et on vous dit à la prochaine
salut
tchou tchou
c'est

c'est
un
c'est

c'est un
c'est un
c'est un
c'est un
c'est un
c'est un
c'est un
c'est un





c'est un



c'est un



















Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

CleverCloud

Tags