Messages in this thread | | | Date | Wed, 24 Sep 2008 17:51:43 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: [RFC PATCH 1/3] Unified trace buffer |
| |
On Wed, 24 Sep 2008, Martin Bligh wrote:
> > How about we just steal 5 bits from the timestamp to indicate event > lengths up to 32 bytes, and if it's 0, that means there's a length > field following? Also that'd mean you could use a longer length field > and get beyond 256 bytes to 4096, without impacting most events. > > struct { > u32 length:5, time_delta:27; > u16 length; > u8 buf[]; > }; > > struct { > u32 length:5, time_delta:27; /* where length == 0 */ > u8 buf[]; > };
BTW, if we declare the ring buffer to have fixed length entries, do we still want to record the length?
Hmm, probably should. It would make the code easier. If it is fixed length under 256 bytes, we still need to record the timestamp, and the length is only 5 bits. It could probably store something else, but we can leave that for version two ;-)
Heck, for now, I'll remove the work I did to add the fix length option, and just use this default. If you have fixed length entries, it will just make it easier to code the above layers.
-- Steve
| |