| From: |
| Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> |
| To: |
| akpm@linux-foundation.org, Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
Masami Hiramatsu <mhiramat@redhat.com> |
| Subject: |
| [RFC patch 0/3] Tracepoints |
| Date: |
| Thu, 03 Jul 2008 12:05:26 -0400 |
| Message-ID: |
| <20080703160526.637679319@polymtl.ca> |
| Archive-link: |
| Article,
Thread
|
Hi,
Here is the new tracepoint infrastructure, heavily inspired from the Markers. It
applies on 2.6.26-rc8. I also post my fs/ LTTng instrumentation as an example
of the resulting code using tracepoints. Please feel free to comment.
- Tracepoints allow more complete type checking (at compile-time) than markers.
- They allow to connect probes involving in-kernel tracers which must be aware
of complex types such as "struct task_struct *" (not just a void *).
- They are not meant as a replacement for markers, since they do not allow
one-liner printk-style addition of tracing statements for debugging purpose.
- They require a declaration in a header file, which creates a nice stable API.
Thanks,
Mathieu
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68