LWN.net Logo

Tracepoints

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

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds