[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080920114056.GB10800@Krystal>
Date: Sat, 20 Sep 2008 07:40:57 -0400
From: Mathieu Desnoyers <compudj@...stal.dyndns.org>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Martin Bligh <mbligh@...gle.com>,
Randy Dunlap <randy.dunlap@...cle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Frank Ch. Eigler" <fche@...hat.com>
Subject: Re: Unified tracing buffer
* Steven Rostedt (rostedt@...dmis.org) wrote:
>
> On Fri, 19 Sep 2008, Martin Bligh wrote:
>
> > >> Sorry, probably lots of implicit assumptions in there that I forgot to explain
> > >
> > > Ids for event types. Either allocated dynamically, if the tracer needs
> > > new ids on each use, or statically assigned for others (like my fctrace
> > > or Steven's ftrace, I believe). Should we have a reserved range / registry
> > > for static allocation, maybe something like a very simple version of
> > > devices.txt?
> >
> > Sure, but it's per-tracer, so hopefully won't be a big problem (eg fctrace
> > would have a different event-id namespace from blktrace)
> >
>
> Right!
>
> We stated in our little meeting that the true event id association is
> buffer id / event id tuple. We will not be assigning ranges for events
> for specific tracers. Ftrace will not have its own range. The static ids
> are reserved for the static trace points and some various static trace
> types that the average kernel developer may use.
>
Just to be sure of the "that the average kernel developer may use"
meaning : I would recommend keeping those static ID range only for
internal buffering mechanism events. E.g., if we need to add a
periodical event in every stream so we can detect timestamp wrap-around,
that would be part of the buffering infrastructure itself, and thus
reserve an event ID.
core_heartbeat (u64 timestamp)
Same thing if we want to export the table that maps:
event name <-> event ID <-> event typing (includes event size info)
That table can be presented into the buffers (possible a single metadata
buffer) in the form of two static event IDs :
core_id_name (u16 id, const char *name)
core_id_type (u16 id, const char *type)
Here another assumption for portability is to declare event type as a
possibly extended format string. Alternative suggestions are welcome.
Mathieu
> Think "string event type" for a event type that will simply hold an ASCII
> string.
>
> -- Steve
>
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists