Re: [RFC 2/2] perf: Marker software event and ioctl
From: Pawel Moll <hidden>
Date: 2014-09-16 16:37:58
Also in:
lkml
On Tue, 2014-09-16 at 08:44 +0100, Ingo Molnar wrote:
I think adding an ioctl to inject user-provided data into the event stream is sensible, as long as there's a separate 'user generated data' event for it, etc. The main usecase I could see would be to introduce a perf_printf() variant, supported by 'perf trace' by default, to add various tracable printouts to apps. Timestamps generated by apps would be another usecase. It would probably be wise to add a 32-bit (or 64-bit) message type ID, plus a length field, with a message type registry somewhere in tools/perf/ (and reference implementation for each new subtype), to keep things organized yet flexible going forward.
Right, so this is pretty much what I got talking to Arnaldo...
{ u64 type; /* 0 means zero-terminated string in data */
u32 size;
char data[size]; } && PERF_SAMPLE_MARKER... with one type - 0 - defined as a "universal" string (so any possible tool knows what to do about it), the rest being left to userspace (this "registry" you mention). Before I proceed any further, is the term "marker" acceptable? Maybe a "printf" instead? Or a "log"? As we know naming is often single most discussed subject when it comes to new things in the kernel ;-) Pawel