Why trace the kernel?
Why trace the kernel?
Posted Aug 5, 2008 17:01 UTC (Tue) by compudj (subscriber, #43335)In reply to: Why trace the kernel? by oak
Parent article: Tracing: no shortage of options
Currently, LTTng implements support for user-space markers on x86 32 and 64 bits. It's a bit slow, since it goes through a system call each time an event record must be recorded, and the API is subject to change, but one can currently add markers to their userspace program or library. See the package : http://ltt.polymtl.ca/packages/markers-userspace-0.5.tar.bz2. It depends on the LTTng patchset to enable/disable markers and to record data. The tarball contains examples telling how to modify the makefiles and linker scripts to use markers in userspace. Being the LTTng project lead, I dream about a simple in-kernel API to manage the performance counters, which would aim at managing these limited resources for the various users (watchdog, user-space perfmon-like API, in-kernel LTTng). The tracer is itself easily extensible and can record new events which include performance counters either in an interrupt mode or at specific events occuring on the system (system call entry/exit, interrupt handler entry/exit, trap entry/exit...). I just need something to setup these counters and let them run free on the system without changing them when switching from one task to another : this is something really annoying when gathering system-wide information. I haven't looked at the perfmon code lately, but I think that most of the user-space system call API is useless to an in-kernel user like LTTng. A minimalistic perfmon would be welcome.
