Les traceurs sous linux (1/2)
Introduction L’analyse des performances est essentiel pour tout processus de développement d’une application logicielle. En plus du débogage, il est nécessaire d’utiliser des pratiques...
View ArticleLes traceurs sous linux (2/2)
Introduction Les applications et les systèmes d’exploitation sont devenus très complexes, de nombreux outils de traçage sont apparus au cours de la dernière décennie. Leur but est d’instrumenter et...
View ArticleLes secrets du traceur eBPF
Introduction Le traçage permet d’instrumenter un noyau pour capturer les événements bas niveau (allocation mémoire, changement de contexte, réception d’un paquet réseau, …,etc). Le traçage a fait...
View ArticleMy first Linux kernel built with Clang compiler!
Following his internship at Smile in 2018 on LLVM/Clang integration into Buildroot [1], Valentin Korenblit still maintains these packages on his spare time (thanks to him!), up to the latest current...
View ArticleLe Temps Reel sous Linux
Dans cet article, nous allons discuter de l’intérêt ainsi que des avantages et inconvénients d’utiliser un noyau Linux temps réel. L’objectif de cet article n’est pas de décrire ce qu’est le temps...
View ArticleFlameGraph
Introduction Les outils de profilage permettent lors de l’exécution d’un logiciel de contrôler la liste des fonctions appelées, le temps passé dans chacune d’elle, l’utilisation des ressources...
View ArticleStoring crash data of the Linux kernel for post-crash debugging
Logging problems are key features of any complex system in order to detect and locate any unexpected behavior. On Linux system, there are lots of solutions to generate debugging informations for an...
View ArticleOvercommit memory in Linux
On Linux systems (including real time ones with PREEMPT-RT), C programs allocates memory using the system libc, usually using malloc(). On modern systems, the dynamic memory allocation uses the...
View ArticleEmulating WLAN in Linux – part I: the 802.11 stack
WLAN networks are a hassle to set up, even more than « physical » cables and RJ45 plugs. While wireless communication is a commodity for the end user, the engineer, in charge of developing and testing...
View ArticleOrdonnancement temps réel souple et affinité CPU sous Linux Vanilla
Linux est un système d’exploitation préemptif offrant des interfaces très riches pour bien ordonnancer, synchroniser et contrôler l’affinité de chaque processus (ou thread) utilisateur.En effet, les...
View Article