All of lore.kernel.org
 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 [PATCH v7 0/4] perf: add support for profiling jitted code 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.