From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pawel Moll Subject: Re: [RFC 2/2] perf: Marker software event and ioctl Date: Tue, 16 Sep 2014 17:37:43 +0100 Message-ID: <1410885463.12376.24.camel@hornet> References: <1410522513-1045-1-git-send-email-pawel.moll@arm.com> <1410522513-1045-3-git-send-email-pawel.moll@arm.com> <54132F63.1010401@gmail.com> <20140912204444.GA11199@kernel.org> <5415B790.5010607@gmail.com> <20140916074421.GA21295@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20140916074421.GA21295-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Ingo Molnar Cc: David Ahern , Arnaldo Carvalho de Melo , Richard Cochran , Steven Rostedt , Ingo Molnar , Peter Zijlstra , Paul Mackerras , John Stultz , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" List-Id: linux-api@vger.kernel.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