[Mesa-dev] [PATCH] gallivm: JIT symbol resolution with linux perf.
Jose Fonseca
jfonseca at vmware.com
Wed Apr 17 07:24:19 PDT 2013
----- Original Message -----
> On 04/17/2013 06:34 AM, jfonseca at vmware.com wrote:
> > From: José Fonseca<jfonseca at vmware.com>
> >
> > Details on docs/llvmpipe.html
> > ---
> > bin/perf-annotate-jit | 240
> > ++++++++++++++++++++++++
> > configure.ac | 7 -
> > docs/llvmpipe.html | 40 ++--
> > src/gallium/auxiliary/gallivm/lp_bld_debug.cpp | 117 +++++++++---
> > src/gallium/auxiliary/gallivm/lp_bld_debug.h | 6 +-
> > src/gallium/auxiliary/gallivm/lp_bld_init.c | 11 +-
> > src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 23 ---
> > src/gallium/auxiliary/gallivm/lp_bld_misc.h | 3 -
> > 8 files changed, 361 insertions(+), 86 deletions(-)
> > create mode 100755 bin/perf-annotate-jit
> >
> > diff --git a/bin/perf-annotate-jit b/bin/perf-annotate-jit
> > new file mode 100755
> > index 0000000..7ebc965
> > --- /dev/null
> > +++ b/bin/perf-annotate-jit
> > @@ -0,0 +1,240 @@
> > +#!/usr/bin/env python
> > +#
> > +# Copyright 2012 VMware Inc
> > +# Copyright 2008-2009 Jose Fonseca
> > +#
> > +# Permission is hereby granted, free of charge, to any person obtaining a
> > copy
> > +# of this software and associated documentation files (the "Software"), to
> > deal
> > +# in the Software without restriction, including without limitation the
> > rights
> > +# to use, copy, modify, merge, publish, distribute, sublicense, and/or
> > sell
> > +# copies of the Software, and to permit persons to whom the Software is
> > +# furnished to do so, subject to the following conditions:
> > +#
> > +# The above copyright notice and this permission notice shall be included
> > in
> > +# all copies or substantial portions of the Software.
> > +#
> > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> > OR
> > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> > +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> > THE
> > +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> > +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> > FROM,
> > +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> > IN
> > +# THE SOFTWARE.
> > +#
> > +
>
> Could you add some comments in this file explaining what this does?
> Maybe include a pointer to the docs page too. I'm not familiar with
> linux perf.
Yes, good point.
diff --git a/bin/perf-annotate-jit b/bin/perf-annotate-jit
index 7ebc965..7464340 100755
--- a/bin/perf-annotate-jit
+++ b/bin/perf-annotate-jit
@@ -22,6 +22,17 @@
# THE SOFTWARE.
#
+"""Perf annotate for JIT code.
+
+Linux `perf annotate` does not work with JIT code. This script takes the data
+produced by `perf script` command, plus the diassemblies outputed by gallivm
+into /tmp/perf-XXXXX.map.asm and produces output similar to `perf annotate`.
+
+See docs/llvmpipe.html for usage instructions.
+
+The `perf script` output parser was derived from the gprof2dot.py script.
+"""
+
import sys
import os.path
> LGTM, but Roland should probably review too.
Thanks for reviewing.
Jose
More information about the mesa-dev
mailing list