From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759954Ab3DCOAK (ORCPT ); Wed, 3 Apr 2013 10:00:10 -0400 Received: from mail-qe0-f43.google.com ([209.85.128.43]:36398 "EHLO mail-qe0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757804Ab3DCOAG (ORCPT ); Wed, 3 Apr 2013 10:00:06 -0400 MIME-Version: 1.0 In-Reply-To: <515C34BF.6060508@gmail.com> References: <1350408232.2336.42.camel@laptop> <1359728280.8360.15.camel@hornet> <51118797.9080800@linaro.org> <5123C3AF.8060100@linaro.org> <1361356160.10155.22.camel@laptop> <51285BF1.2090208@linaro.org> <1361801441.4007.40.camel@laptop> <1363291021.3100.144.camel@hornet> <51586315.7080006@gmail.com> <5159D221.70304@linaro.org> <515A0A3A.2040105@gmail.com> <515C34BF.6060508@gmail.com> Date: Wed, 3 Apr 2013 16:00:05 +0200 Message-ID: Subject: Re: [RFC] perf: need to expose sched_clock to correlate user samples with kernel samples From: Stephane Eranian To: David Ahern Cc: John Stultz , Pawel Moll , Peter Zijlstra , Thomas Gleixner , LKML , "mingo@elte.hu" , Paul Mackerras , Anton Blanchard , Will Deacon , "ak@linux.intel.com" , Pekka Enberg , Steven Rostedt , Robert Richter Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 3, 2013 at 3:55 PM, David Ahern wrote: > On 4/3/13 3:17 AM, Stephane Eranian wrote: >> >> I haven't done any specific testing with either approach yet. The goal is >> to >> use this perf timestamp to correlate user level events to hardware >> events recorded >> by the kernel. I would assume there would be situations where those user >> events >> could be on the critical path, and thus the timestamp operation would have >> to be >> as efficient as possible. The vdso approach would be ideal. >> >>> >>> The performance/speed depends on how often is called. I have no idea what >>> Stephane's use case is but for me it is to correlate perf_clock >>> timestamps >>> to timeofday. In my perf-based daemon that tracks process schedulings, I >>> update the correlation every 5-10 minutes. >>> >> I was more thinking along the lines of runtime environments like Java >> where >> a JIT compiler is invoked frequently and you need to correlate samples in >> the >> native code with Java source. For that, the JIT compiler has to emit >> mapping >> tables which have to be timestamped as address ranges may be re-used. > > > What's the advantage of changing apps -- like the JIT compiler -- to emit > perf based timestamps versus having perf emit existing timestamps? ie., > monotonic and realtime clocks already have vdso mappings for userspace with > well known performance characteristics. Why not have perf convert its > perf_clock timestamps into monotonic or realtime when dumping events? > Can monotonic timestamps be obtained from NMI context in the kernel?