Re: [RFC] Create instrumentation directory (git repository)

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jeff Garzik <jeff@...>
Cc: Randy Dunlap <rdunlap@...>, <hch@...>, <linux-kernel@...>, Sam Ravnborg <sam@...>, Jens Axboe <jens.axboe@...>, Prasanna S Panchamukhi <prasanna@...>, Ananth N Mavinakayanahalli <ananth@...>, Anil S Keshavamurthy <anil.s.keshavamurthy@...>, David S. Miller <davem@...>, Ingo Molnar <mingo@...>, Peter Zijlstra <pzijlstr@...>, Philippe Elie <phil.el@...>, Linus Torvalds <torvalds@...>, William L. Irwin <wli@...>, Arjan van de Ven <arjan@...>, Christoph Lameter <christoph@...>, <Valdis.Kletnieks@...>, Thomas Gleixner <tglx@...>
Date: Monday, October 29, 2007 - 9:38 pm

* Jeff Garzik (jeff@garzik.org) wrote:

And how is this confirmed by the way the i386-x86_64 -> x86 merge is
done ? It seems like a good current counter-example of what you just
affirmed.

First organizing the functionally similar existing code into a single
placeholder will just help finding code duplication, just like two very
similar architectures such as i386 and x86_64.

Talking about solving "real" problems, this is what I have been working
on for about 3 years in the kernel tracing area, writing the LTTng
tracer. What I see at this point is that there is a strong interest for
collaboration between the instrumentation projects (LTTng, SystemTAP,
DTI), but since the code ends up being sprinkled all across the kernel,
it's rather hard to spot duplicates. Actually, I just ran into Linus's
suspend/resume tracer _today_.

Talking about solving real problems, this is also what I did with the
Linux Kernel Markers patch, which can now be used to instrument the
kernel code. But it only deals with one aspect of instrumentation: the
markup itself.

I would categorize what we need for instrumentation in the following
categories :

- Data identification
  * static markup, enabled dynamically, very low impact
  * dynamic markup
  * oprofile (especially for the performance counters)
  * stack traces
- Control
  * Tracing management
  * Profiling management
  * PMC management
- Data extraction
  * relay
  * debugfs
  * serial port output
  * LKCD

What I consider to fit into the instrumentation directory is the data
identification and the control mechanisms. The data extraction should be
done be generic pieces of infrastructure already present in the kernel.

Your suggestion of "first fixing the real problems" (do you mean by
this : add new code ?) and later bother about the file structure just
seems to go against most suggestions I have received from kernel
developers in the past years. Getting something new in the kernel is
much more straightforward if someone is willing to first clean up the
mess (I am quoting Thomas Gleixner here).  So, in this particular case,
addressing the real problem : people out there want a tracer in the
Linux kernel, will first require to clean up the currently existing
mess : overlapping instrumentation code sprinkled all over the place.



I guess you don't use the Documentation/ directory often then. ;)

How about i13n ? :) Jokes aside, I could live with "probe", although it
doesn't fit the purpose exactly. Getting the perfect name, to me, come
second after the need to group those files.

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] Create instrumentation directory (git repository), Mathieu Desnoyers, (Mon Oct 29, 5:51 pm)
Re: [RFC] Create instrumentation directory (git repository), Christoph Lameter, (Mon Oct 29, 7:20 pm)
Re: [RFC] Create instrumentation directory (git repository), Mathieu Desnoyers, (Mon Oct 29, 7:40 pm)
Re: [RFC] Create instrumentation directory (git repository), Christoph Lameter, (Mon Oct 29, 7:45 pm)
Re: [RFC] Create instrumentation directory (git repository), Mathieu Desnoyers, (Mon Oct 29, 7:04 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Mathieu Desnoyers, (Tue Oct 30, 1:24 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Linus Torvalds, (Tue Oct 30, 1:50 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Mathieu Desnoyers, (Tue Oct 30, 2:56 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Sam Ravnborg, (Tue Oct 30, 5:46 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Linus Torvalds, (Tue Oct 30, 3:25 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Mathieu Desnoyers, (Tue Oct 30, 4:40 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Frank Ch. Eigler, (Wed Oct 31, 11:48 am)
Re: [RFC] Create kinst/ or ki/ directory ?, Mathieu Desnoyers, (Wed Oct 31, 12:36 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Frank Ch. Eigler, (Wed Oct 31, 3:29 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Arjan van de Ven, (Wed Oct 31, 12:29 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Frank Ch. Eigler, (Wed Oct 31, 3:05 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Arjan van de Ven, (Wed Oct 31, 3:49 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Christoph Hellwig, (Tue Oct 30, 1:58 pm)
Re: [RFC] Create kinst/ or ki/ directory ?, Peter Zijlstra, (Tue Oct 30, 1:49 pm)
Re: [RFC] Create instrumentation directory (git repository), Mathieu Desnoyers, (Mon Oct 29, 7:35 pm)
Re: [RFC] Create instrumentation directory (git repository), Mathieu Desnoyers, (Mon Oct 29, 9:38 pm)
Re: [RFC] Create instrumentation directory (git repository), Arnaldo Carvalho de Melo, (Tue Oct 30, 5:13 am)