Re: [RFC PATCH 1/2] Marker probes in futex.c

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Peter Zijlstra <a.p.zijlstra@...>
Cc: <prasad@...>, <linux-kernel@...>, <tglx@...>, <mingo@...>, Christoph Hellwig <hch@...>, Frank Ch. Eigler <fche@...>
Date: Tuesday, April 15, 2008 - 8:32 am

* Peter Zijlstra (a.p.zijlstra@chello.nl) wrote:

I don't really see how it differs so much from printks, which kernel
developers are already familiar with.


If any of your variable type changes, then you are exporting an unknown
data structure to user-space. _That_ would break a userspace tracer
whenever you change any of these kernel variables and you don't want
that.

Exporting the field names and variable types helps to identify the
variables by their given names rather than their respective order.
Having the field type insures binary compatibility.

Clearly we can turn your trace_futex_wait(uaddr, fshares, val, abs_time,
bitset); into a trace_mark() with a simple define, and I don't see any
problem with that. I just want to make sure the event name, field names
and field types are exported, and this is done by markers. However, I
wonder why none of the kernel printk() are turned into specialized
defines to make the code "cleaner".. maybe it's because it is useful to
have everything declared in one spot after all.


Because we extract the field names and types, we can create tracer
plugins that would hook on field names rather than expect a specific
number of fields and fixed field types. It makes it possible to tolerate
missing fields pretty easily. But yes, tracer tools might have to be
adapted to internal kernel changes, since they must follow kernel
structure changes. However, staying as close as possible to a canonical
representation of event fields, staying far from the specific
implemetation, would help to lessen the inter-dependency. On the other
hand, it would probably hurt trace compactness and efficiency.

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
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Tue Apr 15, 7:53 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Tue Apr 15, 8:02 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Andrew Morton, (Fri Apr 18, 6:44 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Tue Apr 15, 11:52 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Wed Apr 16, 11:51 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Thu Apr 17, 6:02 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Fri Apr 18, 2:46 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Sat Apr 19, 10:13 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Sat Apr 19, 10:56 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Fri Apr 18, 10:29 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Sat Apr 19, 10:52 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Sat Apr 19, 2:03 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Sat Apr 19, 2:29 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Sat Apr 19, 2:48 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Nicholas Miell, (Tue Apr 22, 1:50 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Sat Apr 19, 8:28 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 8:32 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Tue Apr 15, 8:56 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 9:25 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Wed Apr 16, 11:51 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Thu Apr 17, 3:19 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Fri Apr 18, 2:56 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Thu Apr 17, 4:16 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Sat Apr 19, 8:13 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Sat Apr 19, 5:33 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Tue Apr 15, 9:17 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 9:47 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Tue Apr 15, 12:48 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 5:38 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Wed Apr 16, 9:17 am)
text_poke, vmap and vmalloc on x86_64, Mathieu Desnoyers, (Wed Apr 16, 4:10 pm)
Re: text_poke, vmap and vmalloc on x86_64, Mathieu Desnoyers, (Wed Apr 16, 5:22 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Arjan van de Ven, (Wed Apr 16, 9:46 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Wed Apr 16, 10:00 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Arjan van de Ven, (Wed Apr 16, 10:24 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Wed Apr 16, 10:48 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Arjan van de Ven, (Wed Apr 16, 11:32 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Wed Apr 16, 11:39 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Wed Apr 16, 10:29 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Tue Apr 15, 10:04 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 10:39 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Tue Apr 15, 10:21 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Alexey Dobriyan, (Tue Apr 15, 8:50 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Tue Apr 15, 12:13 pm)