From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: Stephane Eranian <eranian@google.com>
Cc: linux-kernel@vger.kernel.org, peterz@infradead.org,
mingo@elte.hu, ak@linux.intel.com, jolsa@redhat.com,
namhyung@kernel.org, cel@us.ibm.com, sukadev@linux.vnet.ibm.com,
sonnyrao@chromium.org, johnmccutchan@google.com,
dsahern@gmail.com, adrian.hunter@intel.com, pawel.moll@arm.com,
acme@kernel.org
Subject: Re: [PATCH v8 2/4] perf inject: add jitdump mmap injection support
Date: Fri, 22 Jan 2016 18:44:05 -0200 [thread overview]
Message-ID: <20160122204405.GB2470@redhat.com> (raw)
In-Reply-To: <1448874143-7269-3-git-send-email-eranian@google.com>
Em Mon, Nov 30, 2015 at 10:02:21AM +0100, Stephane Eranian escreveu:
> This patch adds a --jit/-j option to perf inject.
>
> This options injects MMAP records into the perf.data
> file to cover the jitted code mmaps. It also emits
> ELF images for each function in the jidump file.
> Those images are created where the jitdump file is.
> The MMAP records point to that location as well.
>
> Typical flow:
> $ perf record -k mono -- java -agentpath:libpjvmti.so java_class
> $ perf inject --jit -i perf.data -o perf.data.jitted
> $ perf report -i perf.data.jitted
So, it fails 'make -C tools/perf build-test', specifically the one where
we ask for a NO_LIBELF build, trying to fix:
- make_no_libelf: cd . && make -f Makefile DESTDIR=/tmp/tmp.AzIgKZ2Y7K NO_LIBELF=1
cd . && make -f Makefile DESTDIR=/tmp/tmp.AzIgKZ2Y7K NO_LIBELF=1
BUILD: Doing 'make -j4' parallel build
Auto-detecting system features:
... dwarf: [ on ]
... glibc: [ on ]
... gtk2: [ on ]
... libaudit: [ on ]
... libbfd: [ on ]
... libelf: [ on ]
... libnuma: [ on ]
... numa_num_possible_cpus: [ on ]
... libperl: [ on ]
... libpython: [ on ]
... libslang: [ on ]
... libcrypto: [ on ]
... libunwind: [ on ]
... libdw-dwarf-unwind: [ OFF ]
... zlib: [ on ]
... lzma: [ on ]
... get_cpuid: [ on ]
... bpf: [ on ]
config/Makefile:364: Disabling post unwind, no support found.
GEN common-cmds.h
CC fd/array.o
CC util/abspath.o
LD fd/libapi-in.o
CC fs/fs.o
CC fs/tracing_path.o
LD fs/libapi-in.o
CC cpu.o
CC event-parse.o
LD libapi-in.o
AR libapi.a
CC util/alias.o
CC event-plugin.o
CC trace-seq.o
CC parse-filter.o
CC parse-utils.o
CC kbuffer-parse.o
CC arch/common.o
LD libtraceevent-in.o
LINK libtraceevent.a
CC exec-cmd.o
PERF_VERSION = 4.4.gac64671
CC help.o
CC plugin_jbd2.o
CC util/annotate.o
CC pager.o
LD plugin_jbd2-in.o
CC plugin_hrtimer.o
CC parse-options.o
LD plugin_hrtimer-in.o
CC plugin_kmem.o
CC run-command.o
CC arch/x86/util/header.o
LD plugin_kmem-in.o
CC sigchain.o
CC plugin_kvm.o
CC subcmd-config.o
LD plugin_kvm-in.o
CC plugin_mac80211.o
LD libsubcmd-in.o
AR libsubcmd.a
CC arch/x86/util/tsc.o
LD plugin_mac80211-in.o
CC plugin_sched_switch.o
CC arch/x86/util/pmu.o
LD plugin_sched_switch-in.o
CC plugin_function.o
CC plugin_xen.o
LD plugin_function-in.o
CC arch/x86/util/kvm-stat.o
CC plugin_scsi.o
LD plugin_xen-in.o
CC plugin_cfg80211.o
LD plugin_scsi-in.o
LINK plugin_jbd2.so
LD plugin_cfg80211-in.o
LINK plugin_hrtimer.so
CC arch/x86/tests/arch-tests.o
LINK plugin_kmem.so
CC arch/x86/tests/rdpmc.o
LINK plugin_kvm.so
LINK plugin_mac80211.so
LINK plugin_sched_switch.so
LINK plugin_function.so
LINK plugin_xen.so
CC arch/x86/util/perf_regs.o
LINK plugin_scsi.so
LINK plugin_cfg80211.so
CC arch/x86/tests/perf-time-to-tsc.o
GEN perf-archive
CC arch/x86/util/auxtrace.o
GEN perf-with-kcore
CC ui/gtk/browser.o
CC util/build-id.o
CC arch/x86/util/intel-pt.o
CC arch/x86/tests/insn-x86.o
CC arch/x86/tests/intel-cqm.o
CC util/config.o
CC ui/gtk/hists.o
CC arch/x86/util/intel-bts.o
LD arch/x86/tests/libperf-in.o
CC util/ctype.o
CC util/db-export.o
CC util/env.o
LD arch/x86/util/libperf-in.o
LD arch/x86/libperf-in.o
LD arch/libperf-in.o
CC ui/setup.o
CC util/event.o
CC util/evlist.o
CC ui/helpline.o
CC ui/gtk/setup.o
CC ui/progress.o
CC ui/util.o
CC util/evsel.o
CC ui/gtk/util.o
CC ui/hist.o
CC util/find_bit.o
CC ui/gtk/helpline.o
CC util/kallsyms.o
CC util/levenshtein.o
CC ui/gtk/progress.o
CC util/llvm-utils.o
BISON util/parse-events-bison.c
CC util/perf_regs.o
CC ui/gtk/annotate.o
CC util/path.o
CC util/rbtree.o
CC util/libstring.o
CC ui/stdio/hist.o
CC util/bitmap.o
CC util/hweight.o
CC util/quote.o
CC util/strbuf.o
LD ui/gtk/gtk-in.o
LD gtk-in.o
CC util/string.o
CC builtin-bench.o
CC ui/browser.o
CC util/strlist.o
CC builtin-annotate.o
CC util/strfilter.o
CC util/top.o
CC builtin-config.o
CC ui/browsers/annotate.o
CC util/usage.o
CC builtin-diff.o
CC util/wrapper.o
CC util/dso.o
CC util/symbol.o
CC ui/browsers/hists.o
CC builtin-evlist.o
CC builtin-help.o
CC ui/tui/setup.o
CC util/color.o
CC builtin-sched.o
CC ui/tui/util.o
CC util/header.o
CC ui/tui/helpline.o
CC ui/tui/progress.o
LD ui/tui/libperf-in.o
CC builtin-buildid-list.o
CC builtin-buildid-cache.o
CC builtin-list.o
CC builtin-record.o
CC builtin-report.o
CC ui/browsers/map.o
CC util/callchain.o
CC ui/browsers/scripts.o
CC builtin-stat.o
CC builtin-timechart.o
CC ui/browsers/header.o
LD ui/browsers/libperf-in.o
LD ui/libperf-in.o
CC util/values.o
CC scripts/perl/Perf-Trace-Util/Context.o
CC util/debug.o
CC builtin-top.o
LD scripts/perl/Perf-Trace-Util/libperf-in.o
CC scripts/python/Perf-Trace-Util/Context.o
CC builtin-script.o
CC util/machine.o
LD scripts/python/Perf-Trace-Util/libperf-in.o
LD scripts/libperf-in.o
CC util/map.o
CC builtin-kmem.o
CC util/pstack.o
CC util/session.o
CC util/ordered-events.o
CC builtin-lock.o
CC util/comm.o
CC builtin-kvm.o
CC util/thread.o
CC util/thread_map.o
CC util/trace-event-parse.o
CC builtin-inject.o
CC builtin-mem.o
CC builtin-data.o
CC util/parse-events-bison.o
CC builtin-version.o
CC builtin-trace.o
CC bench/sched-messaging.o
CC tests/builtin-test.o
BISON util/pmu-bison.c
CC bench/sched-pipe.o
CC util/trace-event-read.o
CC tests/parse-events.o
CC bench/mem-functions.o
CC util/trace-event-info.o
CC bench/futex-hash.o
CC util/trace-event-scripting.o
CC bench/futex-wake.o
CC util/trace-event.o
CC perf.o
CC bench/futex-wake-parallel.o
CC util/svghelper.o
CC tests/dso-data.o
CC bench/futex-requeue.o
CC bench/futex-lock-pi.o
CC bench/mem-memcpy-x86-64-asm.o
CC bench/mem-memset-x86-64-asm.o
CC bench/numa.o
CC tests/attr.o
CC tests/vmlinux-kallsyms.o
CC util/sort.o
CC tests/openat-syscall.o
CC tests/openat-syscall-all-cpus.o
CC tests/openat-syscall-tp-fields.o
CC tests/mmap-basic.o
CC tests/perf-record.o
LD bench/perf-in.o
CC tests/evsel-roundtrip-name.o
CC tests/evsel-tp-sched.o
CC tests/fdarray.o
CC tests/pmu.o
CC tests/hists_common.o
CC tests/hists_link.o
CC util/hist.o
CC tests/hists_filter.o
CC tests/hists_output.o
CC tests/hists_cumulate.o
CC tests/python-use.o
CC tests/bp_signal.o
CC util/util.o
CC util/xyarray.o
CC tests/bp_signal_overflow.o
CC util/cpumap.o
CC util/cgroup.o
CC tests/task-exit.o
CC util/target.o
CC tests/sw-clock.o
CC util/rblist.o
CC util/intlist.o
CC util/vdso.o
CC util/counts.o
CC tests/mmap-thread-lookup.o
CC tests/thread-mg-share.o
CC util/stat.o
CC util/stat-shadow.o
CC tests/switch-tracking.o
CC tests/keep-tracking.o
CC util/record.o
CC util/srcline.o
CC tests/code-reading.o
CC tests/sample-parsing.o
CC util/data.o
CC tests/parse-no-sample-id-all.o
CC util/tsc.o
CC util/cloexec.o
CC tests/kmod-path.o
CC util/thread-stack.o
CC tests/thread-map.o
CC util/auxtrace.o
CC tests/llvm.o
CC tests/bpf.o
CC util/intel-pt-decoder/intel-pt-pkt-decoder.o
CC tests/topology.o
CC tests/cpumap.o
GEN util/intel-pt-decoder/inat-tables.c
CC util/scripting-engines/trace-event-perl.o
CC util/intel-pt-decoder/intel-pt-log.o
CC tests/stat.o
CC tests/event_update.o
CC util/intel-pt-decoder/intel-pt-decoder.o
CC tests/llvm-src-base.o
CC tests/llvm-src-kbuild.o
CC tests/llvm-src-prologue.o
CC util/scripting-engines/trace-event-python.o
LD tests/perf-in.o
LD perf-in.o
CC util/intel-pt.o
CC util/intel-bts.o
LD util/scripting-engines/libperf-in.o
CC util/parse-branch-options.o
GEN libtraceevent-dynamic-list
CC util/intel-pt-decoder/intel-pt-insn-decoder.o
CC util/parse-regs-options.o
CC util/term.o
CC util/help-unknown-cmd.o
CC util/symbol-minimal.o
CC util/zlib.o
GEN python/perf.so
CC util/lzma.o
LD util/intel-pt-decoder/libperf-in.o
CC util/demangle-java.o
CC util/jitdump.o
CC util/genelf.o
FLEX util/parse-events-flex.c
FLEX util/pmu-flex.c
CC util/pmu-bison.o
CC util/parse-events.o
CC util/parse-events-flex.o
CC util/pmu.o
CC util/pmu-flex.o
LD util/libperf-in.o
LD libperf-in.o
AR libperf.a
LINK perf
LINK libperf-gtk.so
libperf.a(libperf-in.o): In function `jit_write_elf':
/home/acme/git/linux/tools/perf/util/genelf.c:170: undefined reference to `elf_version'
/home/acme/git/linux/tools/perf/util/genelf.c:175: undefined reference to `elf_begin'
/home/acme/git/linux/tools/perf/util/genelf.c:184: undefined reference to `elf64_newehdr'
/home/acme/git/linux/tools/perf/util/genelf.c:201: undefined reference to `elf_newscn'
/home/acme/git/linux/tools/perf/util/genelf.c:207: undefined reference to `elf_newdata'
/home/acme/git/linux/tools/perf/util/genelf.c:220: undefined reference to `elf64_getshdr'
/home/acme/git/linux/tools/perf/util/genelf.c:235: undefined reference to `elf_newscn'
/home/acme/git/linux/tools/perf/util/genelf.c:241: undefined reference to `elf_newdata'
/home/acme/git/linux/tools/perf/util/genelf.c:254: undefined reference to `elf64_getshdr'
/home/acme/git/linux/tools/perf/util/genelf.c:271: undefined reference to `elf_newscn'
/home/acme/git/linux/tools/perf/util/genelf.c:277: undefined reference to `elf_newdata'
/home/acme/git/linux/tools/perf/util/genelf.c:290: undefined reference to `elf64_getshdr'
/home/acme/git/linux/tools/perf/util/genelf.c:314: undefined reference to `elf_newscn'
/home/acme/git/linux/tools/perf/util/genelf.c:320: undefined reference to `elf_newdata'
/home/acme/git/linux/tools/perf/util/genelf.c:333: undefined reference to `elf64_getshdr'
/home/acme/git/linux/tools/perf/util/genelf.c:347: undefined reference to `elf_newscn'
/home/acme/git/linux/tools/perf/util/genelf.c:353: undefined reference to `elf_newdata'
/home/acme/git/linux/tools/perf/util/genelf.c:375: undefined reference to `elf64_getshdr'
/home/acme/git/linux/tools/perf/util/genelf.c:388: undefined reference to `elf_update'
/home/acme/git/linux/tools/perf/util/genelf.c:395: undefined reference to `elf_end'
collect2: error: ld returned 1 exit status
Makefile.perf:333: recipe for target 'perf' failed
make[4]: *** [perf] Error 1
make[4]: *** Waiting for unfinished jobs....
Makefile:68: recipe for target 'all' failed
make[3]: *** [all] Error 2
test: test -x ./perf
tests/make:273: recipe for target 'make_no_libelf' failed
make[2]: *** [make_no_libelf] Error 1
tests/make:7: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/acme/git/linux/tools/perf'
Performance counter stats for 'make -C tools/perf build-test':
1007267.820554 task-clock (msec) # 2.516 CPUs utilized
591,484 context-switches # 0.587 K/sec
66,439 cpu-migrations # 0.066 K/sec
26,771,257 page-faults # 0.027 M/sec
2,863,648,588,724 cycles # 2.843 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
2,459,464,718,802 instructions # 0.86 insns per cycle
547,848,880,912 branches # 543.896 M/sec
14,513,951,279 branch-misses # 2.65% of all branches
400.280077927 seconds time elapsed
[acme@jouet linux]$
next prev parent reply other threads:[~2016-01-22 20:44 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-30 9:02 [PATCH v8 0/4] perf: add support for profiling jitted code Stephane Eranian
2015-11-30 9:02 ` [PATCH v8 1/4] perf tools: add Java demangling support Stephane Eranian
2016-02-09 12:14 ` [tip:perf/core] perf symbols: " tip-bot for Stephane Eranian
2015-11-30 9:02 ` [PATCH v8 2/4] perf inject: add jitdump mmap injection support Stephane Eranian
2016-01-22 20:44 ` Arnaldo Carvalho de Melo [this message]
2016-01-22 21:22 ` Stephane Eranian
[not found] ` <20160122215542.GK4034@kernel.org>
[not found] ` <20160122220929.GL4034@kernel.org>
2016-01-22 22:10 ` Arnaldo Carvalho de Melo
2016-02-04 21:53 ` Arnaldo Carvalho de Melo
2016-02-04 23:02 ` Stephane Eranian
2016-02-05 13:47 ` Arnaldo Carvalho de Melo
2016-02-05 13:51 ` Arnaldo Carvalho de Melo
2016-02-05 13:57 ` Arnaldo Carvalho de Melo
2016-02-05 14:24 ` Arnaldo Carvalho de Melo
2016-02-08 18:53 ` Stephane Eranian
2016-02-11 22:16 ` Arnaldo Carvalho de Melo
2016-02-12 20:32 ` Stephane Eranian
2016-02-12 20:43 ` Arnaldo Carvalho de Melo
2016-02-15 2:16 ` Stephane Eranian
2016-02-15 17:14 ` Arnaldo Carvalho de Melo
2016-02-09 12:14 ` [tip:perf/core] perf build: Add libcrypto feature detection tip-bot for Stephane Eranian
2016-02-09 12:15 ` [tip:perf/core] perf inject: Make sure mmap records are ordered when injecting build_ids tip-bot for Arnaldo Carvalho de Melo
2016-02-09 12:15 ` [tip:perf/core] perf inject: Add jitdump mmap injection support tip-bot for Stephane Eranian
2015-11-30 9:02 ` [PATCH v8 3/4] perf tools: add JVMTI agent library Stephane Eranian
2016-02-09 12:16 ` [tip:perf/core] " tip-bot for Stephane Eranian
2015-11-30 9:02 ` [PATCH v8 4/4] perf/jit: add source line info support Stephane Eranian
2016-02-09 12:16 ` [tip:perf/core] perf jit: " tip-bot for Stephane Eranian
2016-01-22 22:13 [PATCH v8 2/4] perf inject: add jitdump mmap injection support Arnaldo Carvalho de Melo
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=20160122204405.GB2470@redhat.com \
--to=acme@redhat.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.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 \
--cc=pawel.moll@arm.com \
--cc=peterz@infradead.org \
--cc=sonnyrao@chromium.org \
--cc=sukadev@linux.vnet.ibm.com \
/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.