lkml.org 
[lkml]   [2008]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC PATCH 1/3] Unified trace buffer
From
Date
On Thu, 2008-09-25 at 07:33 -0700, Martin Bligh wrote:
> > I rather like this idea, as it gives small entries (the common case) the
> > least overhead but does allow for larger ones.
> >
> > By also putting the time in there you can do the merge sort iterator,
> > Linus was right that everybody wants this anyway.
> >
> > As for delta encoding the time, we could make the tick log the absolute
> > time packet, that's at least 100Hz and it already has to compute the
> > full gtod thing anyway.
> >
> > I don't much like Linus' idea of bringing type information back into the
> > primitive header (sorry Linus ;-)). I'd much rather keep that
> > abstraction in the next layer.
>
> There is part of the type stuff that belongs in the lower layer, it seems -
> the padding events for the up-to-end-of-page buffering, and the timestamp
> extensions. It seems wrong to split those across two layers.

Hmm, you've got a point there, then it would be 3 package types:

- regular
- full time
- nop

Which can be encoded using 2 bits

> But perhaps we can keep a couple of bits for this, and three of the bits
> to represent the length of the data payload (maybe in 4 byte multiples
> rather than bytes?) That'd let up to 28 bytes as a payload in a short event.

Right - if you use raw tsc you're dependent on clock speed, if we'd
normalize that on ns instead you'd need at least:

l(10000000)/l(2)
23.25349666421153643532

bits to handle HZ=100, leaving us with 32-2-24 = 6 bits for size.

Sounds doable (unless I mis-counted on the 0's).

Also, I agree on the 4byte alignment, rather than the 8byte Steve seems
to favour.



\
 
 \ /
  Last update: 2008-09-25 16:57    [W:1.720 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site