Dans le numéro précédent, nous avons évoqué des méthodes de mise au point à distance pour un système embarqué en utilisant le débogueur GDB couplé à un agent distant comme gdbserver ou l’option KGDB du noyau. Les problèmes graves de fonctionnement (crash du noyau ou d’une application) nécessitent en effet l’utilisation d’un débogueur. Cependant, il est souvent nécessaire d’obtenir des informations sur le comportement du système en fonctionnement, ce qui correspond alors à de l'instrumentation. Ainsi, il est possible de prévenir les problèmes en amont ou bien d’assister le concepteur dans le choix de solutions plus optimisées.
Après une rapide introduction des différentes méthodes utilisables, nous évoquerons plus en détail l’outil Ftrace intégré au noyau Linux. Le sujet étant très vaste, il n’est pas envisageable de donner une vue exhaustive du sujet dans un seul article, mais plutôt d’indiquer les méthodes et pointeurs qui permettront au lecteur de mettre en place les procédures adaptées à ses besoins.
Pour illustrer notre propos, nous étudierons un exemple d’utilisation basé sur les travaux d’étudiants de l’option GISTR de l’EPITA (Olivier Madern, Thierry Durand, Damien Corompt) concernant l’analyse des performances de l’extension PREEMPT-RT (http://rt.wiki.kernel.org) du noyau Linux.
Les exemples évoqués sont disponibles à l’adresse http://pficheux.free.fr/articles/lmf/ftrace/exemples.tgz.
1. Génération de traces en espace noyau
Comme nous l’avons évoqué dans le résumé, le but est d’analyser le comportement du système en mettant en place...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première