mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Stephane Eranian <eranian@google.com>
Cc: linux-kernel@vger.kernel.org, acme@redhat.com, mingo@elte.hu,
	ak@linux.intel.com, jolsa@redhat.com, namhyung@kernel.org,
	cel@us.ibm.com, dsahern@gmail.com, adrian.hunter@intel.com,
	johnmccutchan@google.com, brendan.d.gregg@gmail.com
Subject: Re: [PATCH v7 0/4] perf: add support for profiling jitted code
Date: Thu, 1 Oct 2015 11:17:36 +0200	[thread overview]
Message-ID: <20151001091736.GO2881@worktop.programming.kicks-ass.net> (raw)
In-Reply-To: <1443681949-6534-1-git-send-email-eranian@google.com>

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.

  parent reply	other threads:[~2015-10-01  9:17 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-01  6:45 Stephane Eranian
2015-10-01  6:45 ` [PATCH v7 1/5] perf tools: add Java demangling support Stephane Eranian
2015-10-01  6:45 ` [PATCH v7 2/5] perf tools: pass session to mmap processing code Stephane Eranian
2015-10-01  6:45 ` [PATCH v7 3/5] perf inject: add jitdump mmap injection support Stephane Eranian
2015-10-09 13:17   ` Adrian Hunter
2015-10-01  6:45 ` [PATCH v7 4/5] perf tools: add JVMTI agent library Stephane Eranian
2015-10-01  6:45 ` [PATCH v7 5/5] perf/jit: add source line info support Stephane Eranian
2015-10-01  9:17 ` Peter Zijlstra [this message]
2015-10-01  9:39   ` [PATCH v7 0/4] perf: add support for profiling jitted code Ingo Molnar
2015-10-01 16:13     ` Arnaldo Carvalho de Melo
2015-10-04 19:52   ` Stephane Eranian
2015-10-01 22:45 ` Brendan Gregg
2015-10-04 20:05   ` Stephane Eranian
2015-10-09 20:51     ` Brendan Gregg

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=20151001091736.GO2881@worktop.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=brendan.d.gregg@gmail.com \
    --cc=cel@us.ibm.com \
    --cc=dsahern@gmail.com \
    --cc=eranian@google.com \
    --cc=johnmccutchan@google.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=namhyung@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome