Messages in this thread | | | Subject | Re: [RFC/Requirements/Design] h/w error reporting | From | Peter Zijlstra <> | Date | Wed, 10 Nov 2010 16:30:19 +0100 |
| |
On Wed, 2010-11-10 at 10:09 -0500, Steven Rostedt wrote: > > > sure the second way is the only way out, but you still need to come up > > with a trace data format and a control ABI. > > Great! Let's start with that then. Could you list some of the basic > needs of perf?
Needs for what? I've already got a full control ABI and I can already redirect output to other buffers ;-)
I don't have enumeration of what all is redirected to what, I pretend that people know wth they're doing.. so if you want session lists of what tracepoints are active on which buffers and the like you'll have to come up with something for that.
As for the buffer, I prefer a u64 aligned data stream, but the very least I need is frame encapsulation. What I don't want _ever_ is stupid sub-buffers. And no they're not needed, see the discussion about sync markers a while back.
I also don't want to support the stupid concurrent read/write from tail.
What I do want is both mmap() and splice(), this means buffer size needs to be specified at buffer creation.
I currently support overwrite (flight-recorder) and non-overwrite modes depending on PROT_WRITE, I guess that can easily be pushed into the buffer create call.
As to the mmap() part, it needs a control page to expose the head/tail pointers and some data.
And as you know I need to write > PAGE_SIZE entries.
| |