Re: [RFC PATCH] LTTng relay buffer allocation, read, write

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mathieu Desnoyers
Date: Monday, September 29, 2008 - 9:06 am

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

Well, this is my answer to Steven's "this is too complex" comments,
which I suspect is really a "this is too implement to implement". Sorry
Steven, but you do not actually propose anything to address my concerns,
which are : I want to export this data to userspace without tricky
dependencies on the compiler ABI. I also don't want to be limited in
locking infrastructure implementation.

Those are the kind of concerns that are much easier to address in a
layered and modular implementation. If we try to do everything in the
same C file, we end up having typing/memory management/time management
all closely tied.

So I am all for providing a common infrastructure which implements all
this, but I think this infrastructure should itself be layered and
modular.

Also, I have something really really near to the requirements expressed
in LTTng, which is :

Linux Kernel Markers : Event data typing exportable to userspace without
                       tricky compiler ABI dependency.
                       TODO : Export marker list to debugfs.
                              Allow individual marker enable/disable
                              through debugfs file.
                              Use per client buffer marker IDs rather
                              than a global ID table.
                              Export the markers IDs/format/name through
                              one small buffer for each client buffer.
ltt-relay :            Buffer coherency management. TODO : splice.
ltt-relay-alloc :      Buffer allocation and read/write, without vmap.
ltt-tracer :           In-kernel API to manage trace allocation,
                       start/stop.
                       TODO : Currently has a statically limited set of
                       buffers. Should be extended so that clients could
                       register new buffers.
ltt-control :          Netlink control which calls the in-kernel
                       ltt-tracer API.
                       TODO : switch from netlink to debugfs.
ltt-timestamp :        Timestamping infrastructure (tsc, global
                       counter). Currently supports about 6
                       architectures. Has an asm-generic fallback.
ltt-heartbeat :        Deal with 32 TSC overflow by periodically writing
                       an event in every buffers.
                       TODO : switch to "extended time" field by keeping
                       track of the previously written timestamp.

If you think it's worthwhile, I could post a selected set of my patches
to LKML to see the reactions. However, note that there are a few TODOs,
so it does not address all the requirements.

Mathieu


-- 
Mathieu Desnoyers
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] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Sat Sep 27, 6:40 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Peter Zijlstra, (Sat Sep 27, 10:10 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Peter Zijlstra, (Sun Sep 28, 1:59 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Mon Sep 29, 8:50 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Mon Sep 29, 9:06 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Steven Rostedt, (Mon Sep 29, 9:38 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Peter Zijlstra, (Mon Sep 29, 10:30 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Mon Sep 29, 11:38 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Steven Rostedt, (Mon Sep 29, 12:40 pm)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Steven Rostedt, (Mon Sep 29, 12:54 pm)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Mon Sep 29, 1:31 pm)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Steven Rostedt, (Mon Sep 29, 2:24 pm)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Tue Sep 30, 11:14 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Steven Rostedt, (Tue Sep 30, 11:22 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Tue Sep 30, 11:35 am)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Steven Rostedt, (Tue Sep 30, 12:43 pm)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Tue Sep 30, 12:54 pm)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Frank Ch. Eigler, (Tue Sep 30, 1:01 pm)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Steven Rostedt, (Tue Sep 30, 1:21 pm)
Re: [RFC PATCH] LTTng relay buffer allocation, read, write, Mathieu Desnoyers, (Tue Sep 30, 1:55 pm)