> SystemTap n'a aucune raison d'être intégré à Linux. C'est que de l'userland. Par contre
> SystemTap utilise kprobe, utrace et uprobe. S'il n'y a que kprobe, il ne sait que tracer le
> kernel, ce qui est déjà pas mal.
Systemtap veut être intégré dans Linux (j'entends par là utrace et uprobe) car maintenir des patchs kernel out-of-tree ça demande beaucoup de temps de maintenance, de gestion des versions, etc...
Aussi, il y a du code userland dans Linux, comme le repertoire tools/ qui heberge les outils clients pour perf events. Ca permet d'avoir un developpement très synchronisé avec les évolutions de Linux. Là encore Systemtap aurait probablement interêt à avoir un repertoire tools/stap.
> stap -g permet d'injecter du code C arbitraire. Donc tu fais *vraiment* ce que tu veux (y
> compris n'importe quoi).
Ah, ok je savais pas.
> On est d'accord que le cas que tu cites est plus adapté à un tracepoint statique. Mais si ce
> tracepoint n'existe pas et que tu ne peux pas te permettre de recompiler le noyau, stap -g
> permettrait de le faire aussi. Évidemment c'est pas forcément une bonne idée mais c'est
> faisable.
[^] # Re: À propos du tracing
Posté par fweisbec . En réponse à la dépêche Nouvelle version 2.6.33 du noyau Linux. Évalué à 2.
> SystemTap utilise kprobe, utrace et uprobe. S'il n'y a que kprobe, il ne sait que tracer le
> kernel, ce qui est déjà pas mal.
Systemtap veut être intégré dans Linux (j'entends par là utrace et uprobe) car maintenir des patchs kernel out-of-tree ça demande beaucoup de temps de maintenance, de gestion des versions, etc...
Aussi, il y a du code userland dans Linux, comme le repertoire tools/ qui heberge les outils clients pour perf events. Ca permet d'avoir un developpement très synchronisé avec les évolutions de Linux. Là encore Systemtap aurait probablement interêt à avoir un repertoire tools/stap.
> stap -g permet d'injecter du code C arbitraire. Donc tu fais *vraiment* ce que tu veux (y
> compris n'importe quoi).
Ah, ok je savais pas.
> On est d'accord que le cas que tu cites est plus adapté à un tracepoint statique. Mais si ce
> tracepoint n'existe pas et que tu ne peux pas te permettre de recompiler le noyau, stap -g
> permettrait de le faire aussi. Évidemment c'est pas forcément une bonne idée mais c'est
> faisable.
Wep.