From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pawel Moll Subject: Re: [PATCH 0/2] perf: User/kernel time correlation and event generation Date: Thu, 18 Sep 2014 16:07:17 +0100 Message-ID: <1411052837.8965.6.camel@hornet> References: <1411050873-9310-1-git-send-email-pawel.moll@arm.com> <541AF40B.7070604@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <541AF40B.7070604-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Christopher Covington Cc: Richard Cochran , Steven Rostedt , Ingo Molnar , Peter Zijlstra , Paul Mackerras , Arnaldo Carvalho de Melo , John Stultz , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Michael Kerrisk List-Id: linux-api@vger.kernel.org On Thu, 2014-09-18 at 16:02 +0100, Christopher Covington wrote: > Hi Pawel, > > On 09/18/2014 10:34 AM, Pawel Moll wrote: > > Greetings, > > > > This is a second spin of the short series posted last week: > > > > http://www.spinics.net/lists/kernel/msg1824419.html > > > > The first patch adds an additional timestamp field in the perf > > sample data, which can be requested for any perf event along > > with normal PERF_SAMPLE_TIME. Events with both values appearing > > periodically in the perf data allow user code to translate > > raw monotonic time (obtained via POSIX clock API) to sched_clock > > domain. Although any perf event can be used, the natural choice > > would be a sched_switch trace event (for processes with root > > permissions) or a hrtimer-based PERF_COUNT_SW_CPU_CLOCK. > > > > It didn't attract any comments previously, so is just re-posted > > without any changes. > > > > The second patch, functionally orthogonal but complementing > > the first one, builds on the ftrace "trace_maker" idea. It adds > > a ioctl that can be used to inject a userspace-generated data > > into the perf buffer. It provides base for printf-like > > functionality in perf world. If used with the previous patch, > > it can be also used to provide synchronisation points for sched > > vs. raw monotonic time stamps correlation. > > > > First version of the patch was taking a zero-terminated string > > as an argument. Now it is taking a custom structure with "type" > > and "size" integer fields followed by data. Type value "0" > > is defined as a zero-terminated string (although size, including > > the NULL character, must still be provided), but meaning of data > > for other types is of no interest for the kernel. The intention > > is to host a list of "well known" types (with reference parsers > > for them) in the user perf tool code. > > Would it be possible for you to also update the corresponding man pages? > > https://www.kernel.org/doc/man-pages/ I must admit I haven't thought of that, but of course - if the changes are accepted I'll send patches to the perf_event_open(2) man page. Any others you had in mind? Pawel