Messages in this thread | | | Date | Thu, 11 Nov 2010 11:34:15 -0500 | From | Mathieu Desnoyers <> | Subject | Re: Tracing Requirements (was: [RFC/Requirements/Design] h/w error reporting) |
| |
* Steven Rostedt (rostedt@goodmis.org) wrote: > On Wed, 2010-11-10 at 19:11 -0500, Mathieu Desnoyers wrote: > > > > There are also the other common fields: > > > > > > struct trace_entry { > > > unsigned short type; > > > > > > > > > Type is needed by perf. If we have one buffer per event, we could > > > retrieve which event we are dealing with. But if buffers are > > > multiplexed per cpu, we need this. > > > > Agreed, although 65536 types ID is probably overkill for the common case. > > I prefer to go for approaches with a header that contains a smaller number of > > bits, and use an extended header for those rare cases that need it. > > Note, ftrace currently has over 600 event types. Unless we compact it > down into bits, using two bytes is fine.
I understand that overall the numer of events overflows 256. However, this does not mean they are typically all activated. Moreover, if we add multiple buffer support, these events don't necessarily have to end up in the same buffer. This numeric identifier is only there to distinguish between events ending in the same buffer after all.
So the number of available events does not count as an argument for choosing the typical number of bytes to represent the event IDs. The number of events typically activated for a trace session does.
Thanks,
Mathieu
-- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com
| |