Let's continue exploring the WLAN stack in Linux. In the first part of this series, we took a quick glance at what exactly a WLAN "interface" is in Linux, and studied the kernel modules handling them for us in userspace. We…
Étiquette : kernel
Linux MMUless
Avant-propos Cela fait bien des années que Linux fonctionne sur des architectures sans MMU. Les plus anciens se souviendront de cette image d'un Pingouin sur un Palm Pilot III. Cependant, 1998 est déjà loin, et depuis qu'en est-il ? …
Gestion de fichiers avancée sous Linux
Gestion de fichiers avancée sous Linux Introduction Les accès disques sont souvent sources de latences considérables et semblent être un point mal maîtrisé au risque de pénaliser les performances du système. Pourtant Linux offre…
Ordonnancement 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 fonctionnalités temps réel déja disponibles sous…
Emulating 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 it at software level, can be…
Overcommit 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 principle of overcommit. This is based on MMU…
Storing 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 information for an unexpected behavior of a userspace application (log…
FlameGraph
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 processeur ou l'utilisation mémoire par exemple. Sous…
Le 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 réel mais pourquoi et comment l’utiliser. Aux…
My 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 version llvm/Clang 8.0.0. At the same time the…