Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1315263 > unrolled thread

Re: [PATCH v8 2/4] perf inject: add jitdump mmap injection support

Started byArnaldo Carvalho de Melo <acme@redhat.com>
First post2016-01-22 21:50 +0100
Last post2016-01-22 23:20 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v8 2/4] perf inject: add jitdump mmap injection support Arnaldo Carvalho de Melo <acme@redhat.com> - 2016-01-22 21:50 +0100
    Re: [PATCH v8 2/4] perf inject: add jitdump mmap injection support Stephane Eranian <eranian@google.com> - 2016-01-22 22:30 +0100
      Re: [PATCH v8 2/4] perf inject: add jitdump mmap injection support Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-01-22 23:20 +0100

#1315263 — Re: [PATCH v8 2/4] perf inject: add jitdump mmap injection support

FromArnaldo Carvalho de Melo <acme@redhat.com>
Date2016-01-22 21:50 +0100
SubjectRe: [PATCH v8 2/4] perf inject: add jitdump mmap injection support
Message-ID<qTQOC-Mq-5@gated-at.bofh.it>
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]$ 

[toc] | [next] | [standalone]


#1315284

FromStephane Eranian <eranian@google.com>
Date2016-01-22 22:30 +0100
Message-ID<qTRrk-1iu-5@gated-at.bofh.it>
In reply to#1315263
On Fri, Jan 22, 2016 at 12:44 PM, Arnaldo Carvalho de Melo
<acme@redhat.com> wrote:
> 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:
>
I have rebase to tip.git last night. Will try your branch today.
Will add a couple of minor adjustments and also better documentation
on how to use it.

> - 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]$
>

[toc] | [prev] | [next] | [standalone]


#1315319

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2016-01-22 23:20 +0100
Message-ID<qTSdI-1SX-21@gated-at.bofh.it>
In reply to#1315284
Em Fri, Jan 22, 2016 at 07:09:29PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Jan 22, 2016 at 06:55:42PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Fri, Jan 22, 2016 at 01:22:51PM -0800, Stephane Eranian escreveu:
> > > On Fri, Jan 22, 2016 at 12:44 PM, Arnaldo Carvalho de Melo
> > > > So, it fails 'make -C tools/perf build-test', specifically the one where
> > > > we ask for a NO_LIBELF build, trying to fix:
> 
> > > I have rebase to tip.git last night. Will try your branch today.
> > > Will add a couple of minor adjustments and also better documentation
> > > on how to use it.
> > 
> > Ok, but please work on top of my branch, that I'll push soon, for
> > instance, I had to fold the patch below, to fix the NO_LIBELF=1 case,
> > so, when one builds that way perf inject -h will say:
> > 
> > [acme@jouet linux]$ tools/perf/perf inject -h
> > 
> >  Usage: perf inject [<options>]
> > 
> >     -j, --jit             merge jitdump files into perf.data file
> >                           (not built-in because NO_LIBELF=1)
> > 
> > [acme@jouet linux]$ 
> > 
> > I did some other changes and carved out two bits into separate patches,
> > will soon push what I have to a perf/jit branch in my tree so that you
> > can take a look.
> 
> There, I just pushed it to:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf/jit
> 
> More specifically:
> 
> https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/commit/?h=perf/jit&id=0be8362109bb431e50bbc10d167fb2748c90ffb4
> 
> And the branch in gitweb:
> 
> https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/log/?h=perf/jit
> 
> Haven't looked at these yet:
> 
>  1907 N C 11/30 Stephane Erania ( 27K) ┌─>[PATCH v8 4/4] perf/jit: add source line info support
>  1908   C 11/30 Stephane Erania ( 20K) ├─>[PATCH v8 3/4] perf tools: add JVMTI agent library
> 
> Then I'll have to test them one by one, following your detailed
> instructions, thanks for that!

And, FYI, this branch is holding up so far:


[acme@jouet linux]$ perf stat make -C tools/perf build-test
make: Entering directory '/home/acme/git/linux/tools/perf'
Testing Makefile
- make_tags: cd . && make -f Makefile   DESTDIR=/tmp/tmp.IzTl6vhMbZ tags
- make_no_libelf: cd . && make -f Makefile   DESTDIR=/tmp/tmp.PSI0yBKcc8 NO_LIBELF=1
- make_no_libnuma: cd . && make -f Makefile   DESTDIR=/tmp/tmp.VcfD5YNNRi NO_LIBNUMA=1
- make_no_libaudit: cd . && make -f Makefile   DESTDIR=/tmp/tmp.i4SdxuHf1t NO_LIBAUDIT=1
- make_no_backtrace: cd . && make -f Makefile   DESTDIR=/tmp/tmp.I3v5QmV8Nh NO_BACKTRACE=1
- make_no_libpython: cd . && make -f Makefile   DESTDIR=/tmp/tmp.fOCkt4C1FM NO_LIBPYTHON=1
- make_pure: cd . && make -f Makefile   DESTDIR=/tmp/tmp.TctwSew68Q 
- make_perf_o: cd . && make -f Makefile   DESTDIR=/tmp/tmp.iknvKKT2Kb perf.o
- make_debug: cd . && make -f Makefile   DESTDIR=/tmp/tmp.l3lwBXfwnz DEBUG=1
- make_no_libbpf: cd . && make -f Makefile   DESTDIR=/tmp/tmp.Ywr6DYlKsI NO_LIBBPF=1
- make_python_perf_so: cd . && make -f Makefile   DESTDIR=/tmp/tmp.ye9o7RStSb python/perf.so
- make_no_libunwind: cd . && make -f Makefile   DESTDIR=/tmp/tmp.tNz27kyNoW NO_LIBUNWIND=1
- make_util_map_o: cd . && make -f Makefile   DESTDIR=/tmp/tmp.JpfFPERI7A util/map.o
- make_no_newt: cd . && make -f Makefile   DESTDIR=/tmp/tmp.xU9UfQCceZ NO_NEWT=1
- make_install_prefix_slash: cd . && make -f Makefile   DESTDIR=/tmp/tmp.zmS2BuQqV6 install prefix=/tmp/krava/
- make_no_ui: cd . && make -f Makefile   DESTDIR=/tmp/tmp.iiop3KRzFG NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
- make_no_demangle: cd . && make -f Makefile   DESTDIR=/tmp/tmp.A6Q5hlpmZ4 NO_DEMANGLE=1
- make_install_bin: cd . && make -f Makefile   DESTDIR=/tmp/tmp.m9d8Vq1ajF install-bin
- make_no_gtk2: cd . && make -f Makefile   DESTDIR=/tmp/tmp.JJdsy8pHNK NO_GTK2=1
- make_install: cd . && make -f Makefile   DESTDIR=/tmp/tmp.Sj2Xg4PitI install
- make_util_pmu_bison_o: cd . && make -f Makefile   DESTDIR=/tmp/tmp.wKGJJU3eyc util/pmu-bison.o
- make_no_libdw_dwarf_unwind: cd . && make -f Makefile   DESTDIR=/tmp/tmp.2182Tdx2VE NO_LIBDW_DWARF_UNWIND=1
- make_minimal: cd . && make -f Makefile   DESTDIR=/tmp/tmp.Q5ezRmcMm1 NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1
- make_install_prefix: cd . && make -f Makefile   DESTDIR=/tmp/tmp.lyfQvxT5ix install prefix=/tmp/krava
- make_clean_all: cd . && make -f Makefile   DESTDIR=/tmp/tmp.nhRZPPng6t clean all
- make_help: cd . && make -f Makefile   DESTDIR=/tmp/tmp.R8qWp9kt22 help
- make_no_auxtrace: cd . && make -f Makefile   DESTDIR=/tmp/tmp.fNEq3tJ2KG NO_AUXTRACE=1
- make_static: cd . && make -f Makefile   DESTDIR=/tmp/tmp.9MvNcJxaVZ LDFLAGS=-static
- make_no_scripts: cd . && make -f Makefile   DESTDIR=/tmp/tmp.L2iW1bNMbb NO_LIBPYTHON=1 NO_LIBPERL=1
- make_no_libbionic: cd . && make -f Makefile   DESTDIR=/tmp/tmp.M3DA8x7ek1 NO_LIBBIONIC=1
- make_doc: cd . && make -f Makefile   DESTDIR=/tmp/tmp.mPzyUE4voE doc
- make_no_slang: cd . && make -f Makefile   DESTDIR=/tmp/tmp.w1T8U77HFl NO_SLANG=1
- make_no_libperl: cd . && make -f Makefile   DESTDIR=/tmp/tmp.T06LfKQxnS NO_LIBPERL=1
- make_doc_O: cd . && make -f Makefile  O=/tmp/tmp.r6w33h3LtW DESTDIR=/tmp/tmp.NHa0Rhy101 doc
- make_no_libbionic_O: cd . && make -f Makefile  O=/tmp/tmp.h8UfMSiZWb DESTDIR=/tmp/tmp.iQ5FPiVjUl NO_LIBBIONIC=1
- make_clean_all_O: cd . && make -f Makefile  O=/tmp/tmp.7tUqBFwxuC DESTDIR=/tmp/tmp.77k1WKoYsK clean all
- make_install_prefix_O: cd . && make -f Makefile  O=/tmp/tmp.tdnh6ul7op DESTDIR=/tmp/tmp.Gm7tzkZUSJ install prefix=/tmp/krava
- make_perf_o_O: cd . && make -f Makefile  O=/tmp/tmp.1Fae4o1h2s DESTDIR=/tmp/tmp.B8Nmjm2Wor perf.o
- make_no_libpython_O: cd . && make -f Makefile  O=/tmp/tmp.O9ATQ4Mjjt DESTDIR=/tmp/tmp.F7spQK99VU NO_LIBPYTHON=1
- make_no_newt_O: cd . && make -f Makefile  O=/tmp/tmp.7pT6bKzd7K DESTDIR=/tmp/tmp.egSS3beEh7 NO_NEWT=1
- make_util_pmu_bison_o_O: cd . && make -f Makefile  O=/tmp/tmp.giN3W13SYR DESTDIR=/tmp/tmp.S8hRxRWVnb util/pmu-bison.o
- make_no_slang_O: cd . && make -f Makefile  O=/tmp/tmp.E4NQ8vMPdt DESTDIR=/tmp/tmp.WQbb9Nyf7s NO_SLANG=1
- make_pure_O: cd . && make -f Makefile  O=/tmp/tmp.sL7RlaW7QZ DESTDIR=/tmp/tmp.iKuoNAvr3v 
    

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web