[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080920114427.GC10800@Krystal>
Date: Sat, 20 Sep 2008 07:44:28 -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>, od@...ell.com,
"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:
>
> > >> Event ids are 16 bit, dynamically allocated.
> > >
> > > What are these (like)?
> >
> > u16
> >
> > Sorry, probably lots of implicit assumptions in there that I forgot to explain
> >
> > > Arch-specific "word"?
> > > or some fixed-size-for-all-systems (so that trace buffers can be
> > > shared/used on other systems?) Preferably the latter.
> >
> > Mmmm. I don't see anything wrong with making it just 8 byte aligned, personally.
> > Steven - this was your thing?
>
> I'm fine with 8 byte aligned for all.
>
> >
> > >> Variable record length, header will start with length record.
> > >> Timestamps in fixed timebase, monotonically increasing (across all CPUs)
> > >
> > > what timestamp resolution?
> >
> > ns is probably sufficient for output, but may need to be higher
> > internally to get
> > correct ordering of events across CPUs. So, as long as we record this in
> > the buffer header, the internal resolution shouldn't be critical. The text
> > print output ... I'd say ns? We can put it relative to wall time in there,
> > as long as we record it in the buffer header at trace start. I guess we should
> > document the buffer header ;-)
> >
>
> ftrace has two outputs. One is ns from start of boot, the other is ns from
> start of trace. Not sure we need to make wall time in there, unless we add
> it in the trace header (as you stated). Probably best for Version #2.
>
> -- Steve
>
For simplicity and efficiency, I would try to keep the timestamp
recorded for every event as close as what we are reading from the
hardware without manipulation. We can save the timestamp value at the
beginning of the trace (in the buffer header) and we can also save the
scaling value in the same header so we can transform stuff like cycle
counts into ns, ps from boot time or from trace start when we
pretty-print.
Mathieu
--
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