[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151001091736.GO2881@worktop.programming.kicks-ass.net>
Date: Thu, 1 Oct 2015 11:17:36 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Stephane Eranian <eranian@...gle.com>
Cc: linux-kernel@...r.kernel.org, acme@...hat.com, mingo@...e.hu,
ak@...ux.intel.com, jolsa@...hat.com, namhyung@...nel.org,
cel@...ibm.com, dsahern@...il.com, adrian.hunter@...el.com,
johnmccutchan@...gle.com, brendan.d.gregg@...il.com
Subject: Re: [PATCH v7 0/4] perf: add support for profiling jitted code
On Thu, Oct 01, 2015 at 08:45:44AM +0200, Stephane Eranian wrote:
> This patch series extends perf record/report/annotate to enable
> profiling of jitted (just-in-time compiled) code. The current
> perf tool provides very limited support for profiling jitted
> code for some runtime environments. But the support is experimental
> and cannot be used in complex environments. It relies on files
> in /tmp, for instance. It does not support annotate mode or
> rejitted code.
>
> This patch series adds a better way of profiling jitted code
> with the following advantages:
> - support any jitted code environment (some with modifications)
> - support Java runtime with JVMTI interface with no modifications
> - provides a portable JVMTI agent library
> - known to support V8 runtime
> - known to support DART runtime
> - supports code rejitting and code movements
> - no files in /tmp
> - meta-data file is unique to each run
> - no changes to perf report/annotate
> - support per-thread and system-wide profiling
> - support monitoring of multiple simultaneous Jit runtimes
> - source level view in perf annotate
>
> The support is based on cooperation with the runtime. For Java runtimes,
> supporting the JVMTI interface, there is no change necessary. For other
> runtimes, modifications are necessary to emit the meta-data to support
> symbolization, annotation, source lines correlation of the samples.
> Those modifications are relatively straighforward, some have been
> implemented in V8 and DART.
Do V8 and DART come with these bits or will that be a future
contribution?
> This will also generate an ELF image for each jitted function. The
> injected MMAP records will point to these ELF images. The reasoning
> behind using ELF images is that it makes processing for perf report
> and annotate automatic and transparent. It also makes it easier to
> package and analyze on a remote machine. Binutils tools can decode
> the ELF images easily.
The generation of ELF files is really nice!
All in all this looks really nice.
Thanks for doing this.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists