#KernelRecipes On commence la première conférence par io_uring
#KernelRecipes Pour ceux qui veulent en savoir plus à propos de ui_uring : https://en.wikipedia.org/wiki/Io_uring
#KernelRecipes #io_uring propose pas mal de nouvelles fonctionnalités avec le kernel 5.19. La version FreeBSD semble être dans le pipeline pour avoir du crossplatform (Microsoft propose un "I/O Rings")
#KernelRecipes #io_uring pour la prochaine release, io_uring ne sera plus dans fs/ mais aura son propre répertoire kernel io_uring/
#KernelRecipes Prochaine conférence sera le génie incompris des développeurs Linux qui peuvent tout résoudre dont notamment vos problèmes kernel (almost)
#KernelRecipes Si vous voulez qu'un développeur kernel travaille sur votre bug, déjà assurez-vous que votre bug est sur un kernel vanilla et pas sur un kernel d'une distro qui a patché comme un porcas. Pour cela, reportez le bug kernel à votre revendeur de stuff, la distro
#KernelRecipes Si votre bug apparait aussi sur un kernel vanilla (make olddefconfig localmodconfig), vous pouvez votre plus belle plume pour écrire un bug report qui soit le plus conséquent possible (pas juste "ça marche po")
#KernelRecipes testez aussi votre bug sur la dernière version du kernel même si c'est une RC (release-candidate); peut-être que votre bug a déjà été corrigé sur la dernière RC. ça serait ballo d'écrire un bug report pour rien :)
#KernelRecipes certains bugfixes ne sont pas backportés sur des kernels stables ou LTS. Donc gaffe.
#KernelRecipes Assurez-vous aussi de l'intégrité de votre système; par exemple /proc/sys/kernel/tainted doit être à 0; si autre, c'est que vous avez loadé du sale de votre kernel (hello nvidia.ko...)
#KernelRecipes Tous les drivers en dehors du tronc common du kernel linux sont sujet à caution (même les drivers opensources nouvellement libérés par nvidia). Si cela ne vient pas des sources Linux : WARNING !
#KernelRecipes Vérifiez aussi que vous avez pas bidouillé votre hardware. Par exemple, si vous avez décidé de faire de l'overclocking un dimanche et que vous avez des Oops le lundi, y'a peut-être un lien...
#KernelRecipes Si vous avez des kernel panic sur un fs, faites d'abord un fsck dessus...
#KernelRecipes Envoyez votre report au bon endroit, et ce n'est PAS sur http://bugzilla.kernel.org, envoyez votre bug report au bon développeur, au mainteneur; et surtout à ceux attendant des retours; Il faut lire le fichier MAINTAINERS, y'a la vie. (https://docs.kernel.org/process/maintainers.html)
#KernelRecipes Pour votre bug report, décrivez le problème de façon brève, on s'en fout de votre vie (je suis direct, hein ;). Mentionnez la version, si c'est un vanilla et si votre kernel est bien non tainted. Envoyez dmsg, lspci -nn et parfois .config de votre kernel
#KernelRecipes Et dans le sujet, soyez clair et bref; les "ça marche po" ou "j'ai un problème", c'est pas super-super...
Et vous pouvez retrouver les derniers patchs ici : https://lore.kernel.org/all/
#KernelRecipes Concernant la sécurité (security issue), ça passe en top priorité, notifiez l'urgence dans le report.
#KernelRecipes Il existe un site pour le status des regressions sous linux : https://linux-regtracking.leemhuis.info/ et géré par @kernellogger
#KernelRecipes Si vous trouvez le responsable du bug, ce qui cause votre Oops, vous obtiendrez plus facilement et plus rapidement un fix. (indiquez le dans le bug report bien entendu)
#KernelRecipes C'est important : les devs kernels ne sont pas à vos ordres. Donc ils peuvent sans souci ignorer votre bug report si vous ne respectez pas les règles du bon bug reporting.
#KernelRecipes Et pour tout le reste, vous avez la doc : https://docs.kernel.org/admin-guide/reporting-issues.html
(la conférence a été présentée par Thorsten Leemhuis, aka @kernellogger lui-même)
#KernelRecipes Nouvelle conférence, sur io_uring : zerocopy !
#KernelRecipes avec zerocopy, on arrive à des performances +25% dans certains cas.
#KernelRecipes Si je résume à mort : zerocopy, c'est la vie.
#KernelRecipes Nouvelle conférence : Test-driven kernel releases. Attention, ça va unittester sec !
#KernelRecipes Quelques liens utiles :
- https://syzkaller.appspot.com/upstream
- https://linux.kernelci.org/job/
- https://datawarehouse.cki-project.org/kcidb/checkouts
- https://linux-regtracking.leemhuis.info/regzbot/mainline/
#KernelRecipes Le but serait d'avoir le lien vers le workflow test dans le commit directement pour voir simplement si les unittests sont bien passés
#KernelRecipes (quand Greg Kroah-Hartman parle, tout le monde écoute :D
#KernelRecipes Prochaine conférence sur ftrace
#KernelRecipes Pour rappel, ftrace est le tracer officiel du kernel linux, il a été ajouté en 2008 (kernel 2.6.27) et est facilement utilisable sur des systèmes minimalistes (avec juste un busybox et cat/echo)
#KernelRecipes En gros, Steven Rostedt parle d'une feature "histogram" pour débugger le kernel linux mais aussi les libs et les apps (effectuant des appels systèmes);
#KernelRecipes et maintenant d'une autre fonctionnalité "synthetic event" (/sys/kernel/tracing/synthetic_events)
#KernelRecipes (on pense qu'il faudrait un systemd-ftrace... *touss*)
#KernelRecipes Passage sur libtracefs (2020, donc tout jeune), écrit en C, interfaces pour faire des "histograms", "kprobes", "uprobes" et "synthetic-events". Donc au lieu d'avoir des lignes et des lignes de bordel avec /sys/kernel/tracing, on réduit le tout à .. une requête SQL
#KernelRecipes la requête, tu la passes à sqlhist : https://github.com/rostedt/sqlhist
Un article à ce sujet : https://lwn.net/Articles/864996/
#KernelRecipes (ça va trop vite.... #overflowbuffer)
#KernelRecipes Si on devait résumer : il existe également bootconfig qui permet d'étendre les paramètres pour le boot afin d'activer des éléments : https://www.kernel.org/doc/html/latest/admin-guide/bootconfig.html et combiné avec ftrace et sa galaxie, on peut faire des tas de trucs dès le boot du kernel.
#KernelRecipes, c'est aussi des "petits" goodies :-P https://t.co/mgoIrYXQ4c
RX/TX... https://t.co/mTPMcKyBhf