Re: [RFC 2/2] perf: Marker software event and ioctl

From: Ingo Molnar
Date: Tue Sep 16 2014 - 13:58:44 EST



* Pawel Moll <pawel.moll@xxxxxxx> wrote:

> 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 ;-)

Well, it's a user-space generated trace/event entry, so lets call
it that?

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/