1. 14 8月, 2015 1 次提交
  2. 07 8月, 2015 1 次提交
    • W
      bpf tools: Introduce 'bpf' library and add bpf feature check · 1b76c13e
      Wang Nan 提交于
      This is the first patch of libbpf. The goal of libbpf is to create a
      standard way for accessing eBPF object files. This patch creates
      'Makefile' and 'Build' for it, allows 'make' to build libbpf.a and
      libbpf.so, 'make install' to put them into proper directories.
      Most part of Makefile is borrowed from traceevent.
      
      Before building, it checks the existence of libelf in Makefile, and deny
      to build if not found. Instead of throwing an error if libelf not found,
      the error raises in a phony target "elfdep". This design is to ensure
      'make clean' still workable even if libelf is not found.
      
      Because libbpf requires 'kern_version' field set for 'union bpf_attr'
      (bpfdep" is used for that dependency), Kernel BPF API is also checked
      by intruducing a new feature check 'bpf' into tools/build/feature,
      which checks the existence and version of linux/bpf.h. When building
      libbpf, it searches that file from include/uapi/linux in kernel source
      tree (controlled by FEATURE_CHECK_CFLAGS-bpf). Since it searches kernel
      source tree it reside, installing of newest kernel headers is not
      required, except we are trying to port these files to an old kernel.
      
      To avoid checking that file when perf building, the newly introduced
      'bpf' feature check doesn't added into FEATURE_TESTS and
      FEATURE_DISPLAY by default in tools/build/Makefile.feature, but added
      into libbpf's specific.
      Signed-off-by: NWang Nan <wangnan0@huawei.com>
      Acked-by: NAlexei Starovoitov <ast@plumgrid.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: He Kuang <hekuang@huawei.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kaixu Xia <xiakaixu@huawei.com>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Zefan Li <lizefan@huawei.com>
      Bcc: pi3orama@163.com
      Link: http://lkml.kernel.org/r/1435716878-189507-4-git-send-email-wangnan0@huawei.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1b76c13e
  3. 22 3月, 2015 2 次提交
  4. 19 3月, 2015 2 次提交
  5. 02 3月, 2015 1 次提交
    • I
      perf tools: Improve feature test debuggability · b49f1a4b
      Ingo Molnar 提交于
      Certain feature tests fail with link errors:
      
        triton:~/tip/tools/perf/config/feature-checks> make test-libbabeltrace.bin
        gcc -MD  -o test-libbabeltrace.bin test-libbabeltrace.c # -lbabeltrace provided by
        /tmp/cc6dRSqd.o: In function `main':
        test-libbabeltrace.c:(.text+0xf): undefined reference to `bt_ctf_stream_class_get_packet_context_type'
      
      although they should already fail with a build error due to lack of a
      proper prototype for the function. Due to this I first tried to find
      which library was missing - while it was the whole feature that was
      missing from the .h file already.
      
      To solve this, propagate -Wall -Werror to all testcases and remove them
      from testcase Makefile rules that used them explicitly.
      
      A missing feature now outputs:
      
        triton:~/tip/tools/perf/config/feature-checks> make test-libbabeltrace.bin
        gcc -MD  -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c  # -lbabeltrace provided by
        test-libbabeltrace.c: In function ‘main’:
        test-libbabeltrace.c:6:2: error: implicit declaration of function ‘bt_ctf_stream_class_get_packet_context_type’ [-Werror=implicit-function-declaration]
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      Cc: David Ahern <david.ahern@oracle.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20150228091627.GF31887@gmail.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      b49f1a4b
  6. 25 2月, 2015 2 次提交
  7. 12 2月, 2015 1 次提交
  8. 28 1月, 2015 1 次提交
  9. 05 11月, 2014 1 次提交
    • N
      perf tools: Add gzip decompression support for kernel module · e92ce12e
      Namhyung Kim 提交于
      Now my Archlinux box shows module symbols correctly.
      
      Before:
        $ perf report --stdio
        Failed to open /tmp/perf-3477.map, continuing without symbols
        no symbols found in /usr/bin/date, maybe install a debug package?
        No kallsyms or vmlinux with build-id 7b4ea0a49ae2111925857099aaf05c3246ff33e0 was found
        [drm] with build id 7b4ea0a49ae2111925857099aaf05c3246ff33e0 not found, continuing without symbols
        No kallsyms or vmlinux with build-id edd931629094b660ca9dec09a1b635c8d87aa2ee was found
        [jbd2] with build id edd931629094b660ca9dec09a1b635c8d87aa2ee not found, continuing without symbols
        No kallsyms or vmlinux with build-id a7b1eada671c34933e5610bb920b2ca4945a82c3 was found
        [ext4] with build id a7b1eada671c34933e5610bb920b2ca4945a82c3 not found, continuing without symbols
        No kallsyms or vmlinux with build-id d69511fa3e5840e770336ef45b06c83fef8d74e3 was found
        [scsi_mod] with build id d69511fa3e5840e770336ef45b06c83fef8d74e3 not found, continuing without symbols
        No kallsyms or vmlinux with build-id af0430af13461af058770ee9b87afc07922c2e77 was found
        [libata] with build id af0430af13461af058770ee9b87afc07922c2e77 not found, continuing without symbols
        No kallsyms or vmlinux with build-id aaeedff8160ce631a5f0333591c6ff291201d29f was found
        [libahci] with build id aaeedff8160ce631a5f0333591c6ff291201d29f not found, continuing without symbols
        No kallsyms or vmlinux with build-id c57907712becaf662dc4981824bb372c0441d605 was found
        [mac80211] with build id c57907712becaf662dc4981824bb372c0441d605 not found, continuing without symbols
        No kallsyms or vmlinux with build-id e0589077cc0ec8c3e4c40eb9f2d9e69d236bee8f was found
        [iwldvm] with build id e0589077cc0ec8c3e4c40eb9f2d9e69d236bee8f not found, continuing without symbols
        No kallsyms or vmlinux with build-id 2d86086bf136bf374a2f029cf85a48194f9b950b was found
        [cfg80211] with build id 2d86086bf136bf374a2f029cf85a48194f9b950b not found, continuing without symbols
        No kallsyms or vmlinux with build-id 4493c48599bdb3d91d0f8db5150e0be33fdd9221 was found
        [iwlwifi] with build id 4493c48599bdb3d91d0f8db5150e0be33fdd9221 not found, continuing without symbols
        ...
        #
        # Overhead  Command          Shared Object            Symbol
        # ........  ...............  .......................  ........................................................
        #
             0.03%  swapper          [ext4]                   [k] 0x000000000000fe2e
             0.03%  swapper          [kernel.kallsyms]        [k] account_entity_enqueue
             0.03%  swapper          [ext4]                   [k] 0x000000000000fc2b
             0.03%  irq/50-iwlwifi   [iwlwifi]                [k] 0x000000000000200b
             0.03%  swapper          [kernel.kallsyms]        [k] ktime_add_safe
             0.03%  swapper          [kernel.kallsyms]        [k] elv_completed_request
             0.03%  swapper          [libata]                 [k] 0x0000000000003997
             0.03%  swapper          [libahci]                [k] 0x0000000000001f25
             0.03%  swapper          [kernel.kallsyms]        [k] rb_next
             0.03%  swapper          [kernel.kallsyms]        [k] blk_finish_request
             0.03%  swapper          [ext4]                   [k] 0x0000000000010248
             0.00%  perf             [kernel.kallsyms]        [k] native_write_msr_safe
      
      After:
        $ perf report --stdio
        Failed to open /tmp/perf-3477.map, continuing without symbols
        no symbols found in /usr/bin/tr, maybe install a debug package?
        ...
        #
        # Overhead  Command          Shared Object                Symbol
        # ........  ...............  ...........................  ......................................................
        #
      
             0.04%  kworker/u16:3    [ext4]                       [k] ext4_read_block_bitmap
             0.03%  kworker/u16:0    [mac80211]                   [k] ieee80211_sta_reset_beacon_monitor
             0.02%  irq/50-iwlwifi   [mac80211]                   [k] ieee80211_get_bssid
             0.02%  firefox          [e1000e]                     [k] __ew32_prepare
             0.02%  swapper          [libahci]                    [k] ahci_handle_port_interrupt
             0.02%  emacs            libglib-2.0.so.0.4000.0      [.] g_mutex_unlock
             0.02%  swapper          [e1000e]                     [k] e1000_clean_tx_irq
             0.02%  dwm              [kernel.kallsyms]            [k] __schedule
             0.02%  gnome-terminal-  [vdso]                       [.] __vdso_clock_gettime
             0.02%  swapper          [e1000e]                     [k] e1000_alloc_rx_buffers
             0.02%  irq/50-iwlwifi   [mac80211]                   [k] ieee80211_rx
             0.01%  firefox          [vdso]                       [.] __vdso_gettimeofday
             0.01%  irq/50-iwlwifi   [iwlwifi]                    [k] iwl_pcie_rxq_restock.part.13
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/87h9yexshi.fsf@sejong.aot.lge.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      e92ce12e
  10. 29 10月, 2014 1 次提交
  11. 12 8月, 2014 1 次提交
  12. 17 7月, 2014 1 次提交
  13. 12 5月, 2014 1 次提交
  14. 28 2月, 2014 1 次提交
  15. 24 2月, 2014 1 次提交
  16. 16 1月, 2014 1 次提交
    • M
      perf: tools: Fix cross building · a8a5cd8b
      Mark Rutland 提交于
      Currently the feature-checks Makefile does not inherit $(CC), and calls
      cc rather than $(CROSS_COMPILE)gcc. Thus the feature checks invoke the
      native toolchain rather than the cross toolchain, and can identify
      features as available when they are not. This can break the build.
      
      Additionally the native pkg-config is always called as opposed to
      $(CROSS_COMPILE)pkg-config, so the wrong flags and paths may be passed
      to the cross compiler.
      
      This patch passes CROSS_COMPILE down to the feature-checks Makefile, and
      forces its use. Additionally pkg-config is replaced with
      $(CROSS_COMPILE)pkg-config via a new $(PKG_CONFIG) variable. This patch
      has been build tested on x86_64 and arm.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Link: http://lkml.kernel.org/r/1389782648-4417-4-git-send-email-mark.rutland@arm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a8a5cd8b
  17. 24 12月, 2013 1 次提交
  18. 11 12月, 2013 1 次提交
  19. 05 12月, 2013 1 次提交
  20. 15 11月, 2013 1 次提交
    • I
      tools/perf/build: Fix feature-libunwind-debug-frame handling · e310718d
      Ingo Molnar 提交于
      Set feature-libunwind-debug-frame. We don't want it in
      CORE_FEATURE_TESTS because it's not the generic case, but we
      need to set it in the !feature-libunwind case.
      
      Also, because x86 distributions typically don't have
      dwarf_find_debug_frame() unwinding method:
      
        test-libunwind-debug-frame.c:(.text+0x31): undefined reference to `_Ux86_64_dwarf_find_debug_frame'
      
      Restrict this new API to ARM for the time being.
      
      With this patch test-all.c works again, so repeat perf builds
      are  fast again:
      
        comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/
        [...]
      
             0,452899660 seconds time elapsed                                          ( +-  0,11% )
      
      While with before it was:
      
        comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/
        [...]
      
             1,674001829 seconds time elapsed                                          ( +-  0,16% )
      
      [ Includes fix to config/feature-checks/Makefile from Will Deacon. ]
      Tested-by: NWill Deacon <will.deacon@arm.com>
      Tested-by: NJean Pihet <jean.pihet@linaro.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/n/tip-scsoctqzmou3rpkixCHezy9e@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      e310718d
  21. 05 11月, 2013 1 次提交
  22. 04 11月, 2013 2 次提交
  23. 14 10月, 2013 4 次提交
  24. 09 10月, 2013 10 次提交