Messages in this thread | | | Date | Wed, 23 Jul 2008 09:20:24 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [patch 4/4] KVM-trace port to tracepoints |
| |
* Avi Kivity (avi@qumranet.com) wrote: > Peter Zijlstra wrote: >> On Tue, 2008-07-22 at 21:46 +0300, Avi Kivity wrote: >> >>> Jan Kiszka wrote: >>> >>>> That's true - as long as you don't have to add/remove/modify >>>> tracepoints. I had to do this job in the past (not for KVM). Having 1 >>>> spot in 1 file (based on generic probes) would be handier in that case >>>> than 5 spots in 3 files. But if the KVM tracepoints are considered >>>> stable in their number and structure, that shouldn't be an issue here. >>>> >>>> >>> Tracepoints aren't stable; they are artefacts of the implementation. >>> >> >> Which IMHO makes it unsuitable for trace_mark() as that will be exported >> to user-space, and every time you change your tracepoints you'll change >> user visible things - not nice. >> > > They are used for debugging (mostly performance related), so changes are > expected. > > What uses of trace_mark() depend on a stable interface? blktrace? >
Actually, LTTng likes to have the { marker name, field name } pairs unchanged for the markers it looks for, but that's about it. If a userspace analysis plugin fails to see a marker (because it is disabled or changed), it just does not apply its particular analysis on the trace.
Since the markers and marker types are self-described in the trace, userspace can detect any change the the present markers, so there is no need to rely on "version numbers" because we are able to proceed to a complete marker list verification (names, field names, types) before starting the trace analysis.
Mathieu
-- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
| |