Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755865AbbBFQkg (ORCPT ); Fri, 6 Feb 2015 11:40:36 -0500 Received: from e8.ny.us.ibm.com ([32.97.182.138]:56942 "EHLO e8.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755425AbbBFQke (ORCPT ); Fri, 6 Feb 2015 11:40:34 -0500 Subject: PATCH[0/3 RFC] PERF, Add remapping support for jit'ed code to perf From: Carl Love To: linux-kernel@vger.kernel.org Cc: penberg@iki.fi, Arnaldo Carvalho de Melo , cel@us.ibm.com, pawel.moll@arm.com Content-Type: text/plain; charset="UTF-8" Date: Fri, 06 Feb 2015 08:40:27 -0800 Message-ID: <1423240827.7292.70.camel@oc0276584878.ibm.com> Mime-Version: 1.0 X-Mailer: Evolution 2.32.3 (2.32.3-30.el6) Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15020616-0029-0000-0000-000001EAF3FA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1917 Lines: 48 This is a repost to LKML of the patches I sent to the linux-perf-users mailing list. I am reposting it to lkml per Arnaldo Carvalho's request. Arnaldo: I got my patch to work without causing perf to seg fault yesterday. So, I am now willing to post what I have as it appears to work. Here is a patch series for the perf Java support as I have it today. I am posting it per your request so people can see what I have been working on, the approach that I am taking etc. I welcome feedback on the overall approach and the patch. It is a proof of concept patch set showing the approach that I am using. There is still plenty of work to do. Work to do 1) Jit call back library needs to store the jit source code 2) Perf add source code annotation for the jit code. 3) Rewrite the jit call back library to only request re-map when it is absolutely needed. Currently it requests a call back for every symbol load just to exercise the perf code. There are three parts to this work. First is the patch that adds the uevent functionality that was written by Pawel Moll. Second is the patch I wrote to take the uevent, which contains the remap request, and process it. Third is the jvmti callback library that gets built and run with the java execution. The library is compiled into java agent library libjvm-perf.so. The perf command is invoked with perf record java -agentpath:libjvmti-perf.so test where test is my java workload being profiled. The following patches in this patch set are: 1/3 Patch by Pawel Moll 2/3 Perf remap patch by Carl Love 3/3 jvmti library source code for testing the perf patch Carl Love -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/