From: Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>
To: Ingo Molnar <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: David Ahern <dsahern-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Arnaldo Carvalho de Melo
<acme-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>,
Richard Cochran
<richardcochran-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Steven Rostedt <rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org>,
Ingo Molnar <mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
Paul Mackerras <paulus-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>,
John Stultz <john.stultz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [RFC 2/2] perf: Marker software event and ioctl
Date: Tue, 16 Sep 2014 17:37:43 +0100 [thread overview]
Message-ID: <1410885463.12376.24.camel@hornet> (raw)
In-Reply-To: <20140916074421.GA21295-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
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
WARNING: multiple messages have this Message-ID (diff)
From: Pawel Moll <pawel.moll@arm.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: David Ahern <dsahern@gmail.com>,
Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
Richard Cochran <richardcochran@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Paul Mackerras <paulus@samba.org>,
John Stultz <john.stultz@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-api@vger.kernel.org" <linux-api@vger.kernel.org>
Subject: Re: [RFC 2/2] perf: Marker software event and ioctl
Date: Tue, 16 Sep 2014 17:37:43 +0100 [thread overview]
Message-ID: <1410885463.12376.24.camel@hornet> (raw)
In-Reply-To: <20140916074421.GA21295@gmail.com>
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
next prev parent reply other threads:[~2014-09-16 16:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-12 11:48 [RFC 0/2] Yet another take at user/kernel time correlation problem Pawel Moll
2014-09-12 11:48 ` [RFC 1/2] perf: Add sampling of the raw monotonic clock Pawel Moll
[not found] ` <1410522513-1045-1-git-send-email-pawel.moll-5wv7dgnIgG8@public.gmane.org>
2014-09-12 11:48 ` [RFC 2/2] perf: Marker software event and ioctl Pawel Moll
2014-09-12 11:48 ` Pawel Moll
[not found] ` <1410522513-1045-3-git-send-email-pawel.moll-5wv7dgnIgG8@public.gmane.org>
2014-09-12 12:43 ` Christopher Covington
2014-09-12 12:43 ` Christopher Covington
[not found] ` <5412EA7A.9020807-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-09-12 12:57 ` Pawel Moll
2014-09-12 12:57 ` Pawel Moll
2014-09-12 13:49 ` Arnaldo Carvalho de Melo
2014-09-12 13:49 ` Arnaldo Carvalho de Melo
[not found] ` <20140912134910.GG1801-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-09-12 13:58 ` Pawel Moll
2014-09-12 13:58 ` Pawel Moll
2014-09-12 16:19 ` Arnaldo Carvalho de Melo
2014-09-12 16:19 ` Arnaldo Carvalho de Melo
[not found] ` <20140912161934.GJ1801-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-09-15 17:27 ` Pawel Moll
2014-09-15 17:27 ` Pawel Moll
2014-09-15 18:31 ` Arnaldo Carvalho de Melo
2014-09-15 18:31 ` Arnaldo Carvalho de Melo
[not found] ` <20140915183101.GE11199-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-09-16 16:33 ` Pawel Moll
2014-09-16 16:33 ` Pawel Moll
2014-09-12 14:00 ` Christopher Covington
2014-09-12 14:00 ` Christopher Covington
2014-09-12 17:37 ` David Ahern
2014-09-12 17:37 ` David Ahern
[not found] ` <54132F63.1010401-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-09-12 20:44 ` Arnaldo Carvalho de Melo
2014-09-12 20:44 ` Arnaldo Carvalho de Melo
2014-09-14 15:43 ` David Ahern
[not found] ` <5415B790.5010607-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-09-15 17:18 ` Pawel Moll
2014-09-15 17:18 ` Pawel Moll
2014-09-16 7:44 ` Ingo Molnar
2014-09-16 7:44 ` Ingo Molnar
[not found] ` <20140916074421.GA21295-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-09-16 16:37 ` Pawel Moll [this message]
2014-09-16 16:37 ` Pawel Moll
2014-09-16 17:58 ` Ingo Molnar
2014-09-16 17:58 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1410885463.12376.24.camel@hornet \
--to=pawel.moll-5wv7dgnigg8@public.gmane.org \
--cc=acme-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org \
--cc=dsahern-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=john.stultz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=paulus-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org \
--cc=peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=richardcochran-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.