30 Oct, 2015

1 commit

  • While doing 'make -C tools/perf build-test':

    LD fixdep-in.o
    LINK fixdep
    /bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied
    make[6]: *** [bpf.o] Error 1
    make[5]: *** [libbpf-in.o] Error 2
    make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2
    make[4]: *** Waiting for unfinished jobs....

    The fixdep tool needs to be built as the first binary. Libraries are
    built in paralel, so each of them needs to depend on fixdep target.

    Reported-by: Arnaldo Carvalho de Melo
    Signed-off-by: Jiri Olsa
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/20151028204450.GA25553@krava.redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

28 Oct, 2015

1 commit

  • By adding libbpf into perf's Makefile, this patch enables perf to build
    libbpf if libelf is found and neither NO_LIBELF nor NO_LIBBPF is set.

    The newly introduced code is similar to how libapi and libtraceevent
    are wired into Makefile.perf.

    MANIFEST is also updated for 'make perf-*-src-pkg'.

    Append make_no_libbpf to tools/perf/tests/make.

    The 'bpf' feature check is appended into default FEATURE_TESTS and
    FEATURE_DISPLAY, so perf will check the API version of bpf in
    /path/to/kernel/include/uapi/linux/bpf.h. Which should not fail except
    when we are trying to port this code to an old kernel.

    Error messages are also updated to notify users about the lack of BPF
    support in 'perf record' if libelf is missing or the BPF API check
    failed.

    tools/lib/bpf is added to TAG_FOLDERS to allow us to navigate libbpf
    files when working on perf using tools/perf/tags.

    Signed-off-by: Wang Nan
    Acked-by: Alexei Starovoitov
    Cc: Brendan Gregg
    Cc: Daniel Borkmann
    Cc: David Ahern
    Cc: He Kuang
    Cc: Jiri Olsa
    Cc: Kaixu Xia
    Cc: Masami Hiramatsu
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Zefan Li
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1444826502-49291-2-git-send-email-wangnan0@huawei.com
    [ Document NO_LIBBPF in Makefile.perf, noted by Jiri Olsa ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Wang Nan
     

29 Sep, 2015

3 commits

  • Adding the fixdep target into the Makefile.include to ease up building of
    fixdep helper, that needs to be built before we dive in to the build itself.
    The user can invoke the fixdep target to build the helper.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1443004442-32660-8-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • And use the new 'prepare' target for the $(PERF_IN) target.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1443004442-32660-7-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • To ease up build framework code setup for users.

    More shared code will be added in the following patches.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1443004442-32660-2-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

14 Sep, 2015

1 commit

  • Adding tools/include into tags directories, to have include definitions
    reachable via tags/cscope.

    Signed-off-by: Jiri Olsa
    Tested-by: Arnaldo Carvalho de Melo
    Cc: David Ahern
    Cc: Matt Fleming
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Raphael Beamonte
    Link: http://lkml.kernel.org/r/1441615087-13886-3-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

17 Aug, 2015

1 commit

  • Add support for decoding instructions for Intel Processor Trace. The
    kernel x86 instruction decoder is copied for this.

    This essentially provides intel_pt_get_insn() which takes a binary
    buffer, uses the kernel's x86 instruction decoder to get details of the
    instruction and then categorizes it for consumption by an Intel PT
    decoder.

    Signed-off-by: Adrian Hunter
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1439450095-30122-1-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     

21 Jul, 2015

2 commits

  • …/acme/linux into perf/core

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    New features:

    - Allow filtering out of perf's PID via 'perf record --exclude-perf'. (Wang Nan)

    - 'perf trace' now supports syscall groups, like strace, i.e:

    $ trace -e file touch file

    Will expand 'file' into multiple, file related, syscalls. More work needed to
    add extra groups for other syscall groups, and also to complement what was
    added for the 'file' group, included as a proof of concept. (Arnaldo Carvalho de Melo)

    - Add lock_pi stresser to 'perf bench futex', to test the kernel code
    related to FUTEX_(UN)LOCK_PI. (Davidlohr Bueso)

    User visible fixes:

    - Apply --filter to all events in a glob matching, not just the last one. (Wang Nan)

    Documentation changes:

    - Document setting '-e pmu/period=N/' in the 'perf record' man page. (Kan Liang)

    Infrastructure changes:

    - 'perf probe' code simplifications and movements to separate files. (Masami Hiramatsu)

    - Fix makefile generation under 'dash'. (Sergei Trofimovich)

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • I.e.:

    $ cat ~/share/perf-core/strace/groups/file
    access
    chmod
    creat
    execve
    faccessat
    getcwd
    lstat
    mkdir
    open
    openat
    quotactl
    readlink
    rename
    rmdir
    stat
    statfs
    symlink
    unlink
    $

    Then, on a quiet desktop, try running this and then moving your mouse to
    see the deluge of mouse related activity:

    # perf probe 'vfs_getname=getname_flags:72 pathname=filename:string'
    Added new event:
    probe:vfs_getname (on getname_flags:72 with pathname=filename:string)

    You can now use it in all perf tools, such as:

    perf record -e probe:vfs_getname -aR sleep 1
    #
    # trace --ev probe:vfs_getname --filter-pids 2232 -e file
    0.042 (0.042 ms): mousetweaks/2235 open(filename: 0x14e3910, mode: 438 ) ...
    0.042 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/cursors/xterm")
    0.100 (0.100 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory
    0.142 (0.018 ms): mousetweaks/2235 open(filename: 0x14c3c10, mode: 438 ) ...
    0.142 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/index.theme")
    0.192 (0.069 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory
    0.230 (0.017 ms): mousetweaks/2235 open(filename: 0x14c3c10, mode: 438 ) ...
    0.230 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/usr/share/icons/Adwaita/cursors/xterm")
    0.253 (0.041 ms): mousetweaks/2235 ... [continued]: open()) = 14
    0.459 (0.008 ms): mousetweaks/2235 open(filename: 0x14e3910, mode: 438 ) ...
    0.459 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/cursors/left_side")
    0.468 (0.017 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory

    Need to combine that raw_syscalls:sys_enter(open) + probe:vfs_getname +
    raw_syscalls:sys_exit(open) sequence...

    Now, if you're bored, please write some more syscall groups, like the ones
    in 'strace' and send it our way :-)

    Cc: Adrian Hunter
    Cc: Borislav Petkov
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Milian Wolff
    Cc: Namhyung Kim
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-a42xklu59lcbxp7bbnic74a8@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

15 Jul, 2015

1 commit

  • Commit 5ef7bbb09f7b ("perf tools: Allow to specify custom linker
    command") was meant to enable usage non $(CROSS_COMPILE)ld linker during
    perf building.

    But implementation didn't take into account the fact that LD is a
    pre-defined variable in GNU Make. I.e. it is always defined.

    Which means there's no point to check "LD ?= ..." because it will never
    succeed.

    And so LD will be either that explicitly passed to make like this:

    ------->8-------
    make LD=path_to_my_ld ...
    ------->8-------
    or default value, which is host's "ld".

    Latter leads to failure of cross-linkage because instead of cross linker
    "$(CROSS_COMPILE)ld" host's "ld" is used.

    Fortunately there's a way to do correct substitution of $(CROSS_COMPILE)ld
    with user defined LD on command-line.

    As a reference was used implementation in "tools/lib/traceevent/Makefile".

    Build tested for x86_64 and ARC.

    Thanks Jiri for this hint.

    Signed-off-by: Alexey Brodkin
    Fixes: 5ef7bbb09f7b ("perf tools: Allow to specify custom linker command")
    Cc: Aaro Koskinen
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Vineet Gupta
    Cc: Vineet Gupta
    Cc: linux-arch@vger.kernel.org
    Link: http://lkml.kernel.org/r/1436864720-26316-1-git-send-email-abrodkin@synopsys.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Alexey Brodkin
     

02 Jul, 2015

2 commits

  • Allow to specify custom linker command. This fixes MIPS64 builds for
    64-bit userspace as it will allow to pass a linker using the correct
    linker flags for 64-bit ABI (by default GNU binutils ld will assume
    N32).

    Signed-off-by: Aaro Koskinen
    Acked-by: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1435751683-18500-2-git-send-email-aaro.koskinen@nokia.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Aaro Koskinen
     
  • Create config.detected into OUTPUT directory instead of source
    directory.

    This fixes parallel builds that share the same source directory.

    Signed-off-by: Aaro Koskinen
    Acked-by: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1435751683-18500-1-git-send-email-aaro.koskinen@nokia.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Aaro Koskinen
     

18 Jun, 2015

1 commit

  • Commit e3d09ec8126fe2c9a3ade661e2126e215ca27a80 ("tools lib traceevent:
    Export dynamic symbols used by traceevent plugins") adds libtraceevent
    dynamic list directly into LDFLAGS, which makes all targets depend on
    that list through LDFLAGS.

    This is not good since some of targets like libgtk.so doesn't use plugin
    at all, but require the existance of that list because of linker
    options.

    This patch isolates the -Xlink option into LIBTRACEEVENT_DYNAMIC_LIST_LDFLAGS,
    makes only perf and perf.so use it.

    Signed-off-by: Wang Nan
    Acked-by: Jiri Olsa
    Cc: He Kuang
    Cc: Masami Hiramatsu
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Zefan Li
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1434552389-89144-1-git-send-email-wangnan0@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Wang Nan
     

16 Jun, 2015

1 commit

  • 'make build-test' finds an error that make_python_perf_so fails due to
    missing of libtraceevent-dynamic-list:

    '.../python2' util/setup.py \
    --quiet build_ext; \
    mkdir -p python && \
    cp python_ext_build/lib/perf.so python/
    /path/to/ld: cannot open linker script file /path/to/kernel/tools/lib/traceevent/libtraceevent-dynamic-list: No such file or directory
    collect2: error: ld returned 1 exit status
    error: command 'x86_64-linux-gcc' failed with exit status 1
    cp: cannot stat 'python_ext_build/lib/perf.so': No such file or directory
    make[3]: *** [python/perf.so] Error 1
    make[2]: *** [python/perf.so] Error 2
    test: test -f ./python/perf.so
    make[1]: *** [make_python_perf_so] Error 1
    make: *** [build-test] Error 2
    make: Leaving directory `/path/to/kernel/tools/perf'

    This is caused by commit e3d09ec8126fe2c9a3ade661e2126e215ca27a80
    ("tools lib traceevent: Export dynamic symbols used by traceevent
    plugins") that, it adds the list file to LDFLAGS but forgot to add it to
    dependency list of python/perf.so.

    This patch fixes this problem.

    Signed-off-by: Wang Nan
    Acked-by: Jiri Olsa
    Cc: He Kuang
    Cc: Peter Zijlstra
    Cc: Zefan Li
    Link: http://lkml.kernel.org/r/1434079031-123162-1-git-send-email-wangnan0@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Wang Nan
     

08 Jun, 2015

1 commit

  • Traceevent plugins need dynamic symbols exported from libtraceevent.a,
    otherwise a dlopen error will occur during plugins loading.

    This patch uses dynamic-list-file to export dynamic symbols which will
    be used in plugins to perf executable.

    The problem is covered up if feature-libpython is enabled, because
    PYTHON_EMBED_LDOPTS contains '-Xlinker --export-dynamic' which adds all
    symbols to the dynamic symbol table. So we should reproduce the problem
    by setting NO_LIBPYTHON=1.

    Before this patch:

    (Prepare plugins)
    $ ls /root/.traceevent/plugins/
    plugin_sched_switch.so
    plugin_function.so
    ...

    $ perf record -e 'ftrace:function' ls

    $ perf script
    Warning: could not load plugin '/mnt/data/root/.traceevent/plugins/plugin_sched_switch.so'
    /root/.traceevent/plugins/plugin_sched_switch.so: undefined symbol: pevent_unregister_event_handler

    Warning: could not load plugin '/root/.traceevent/plugins/plugin_function.so'
    /root/.traceevent/plugins/plugin_function.so: undefined symbol: warning
    ...
    :1049 1049 [000] 9666.754487: ftrace:function: ffffffff8118bc50
    Acked-by: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1432819735-35040-1-git-send-email-hekuang@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    He Kuang
     

27 May, 2015

1 commit

  • This refactors out install-bin to install-tests and install-tools so
    that downstream could opt to only install the tools, and not the tests.

    Signed-off-by: Nam T. Nguyen
    Acked-by: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Simon Que
    Link: http://lkml.kernel.org/r/1431974247-22275-1-git-send-email-namnguyen@chromium.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Nam T. Nguyen
     

06 May, 2015

1 commit

  • Add build option NO_AUXTRACE to exclude compiling support for AUX area
    tracing. Support for both recording and processing is excluded and by
    implication any future additions such as Intel PT and Intel BTS will
    also not be compiled in with this option.

    Signed-off-by: Adrian Hunter
    Acked-by: Jiri Olsa
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1430404667-10593-5-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     

30 Mar, 2015

1 commit

  • Disabling libbabeltrace check by default and replacing the
    NO_LIBBABELTRACE make variable with LIBBABELTRACE.

    Users wanting the libbabeltrace feature need to build via:

    $ make LIBBABELTRACE=1

    The reason for this is that the libababeltrace interface we use (version
    1.3) hasn't been packaged/released yet, thus the failing feature check
    only slows down build and confuses other (non CTF) developers.

    Requested-by: Ingo Molnar
    Signed-off-by: Jiri Olsa
    Acked-by: Ingo Molnar
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jeremie Galarneau
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Sebastian Andrzej Siewior
    Cc: Tom Zanussi
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/20150328103030.GA8431@krava.redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

22 Mar, 2015

2 commits

  • In short, Fedora compresses kernel modules now (since version 21) with
    lzma compression.

    Adding lzma decompress support into the dso.c:compressions array
    introduced by Namhyung earlier.

    Signed-off-by: Jiri Olsa
    Acked-by: Namhyung Kim
    Cc: Adrian Hunter
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-2glp65kdtbrk0gblmirsjsnt@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Moving feature checks code under tools/build directory.

    Changing also $feature_dir to point to new feature directory location
    and perf Makefiles to include Makefile.feature from new location.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-3lamtb30dhf4wo99y1n8kxg0@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

19 Mar, 2015

2 commits

  • Preparing for feature checks separation, moving related stuff under
    'FEATURE*' namespace.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-v9oo22ra70rrk1dy495a7bjc@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Following commit introduced features build dump:
    443a70541c56 perf tools: Output feature detection's gcc output to a file

    Moving them into to have code more compact and renaming build dump
    files. For each feature 'test-X' new file 'test-X.make.output' is
    created and contains the build out. It's created in the same directory
    as the feature itself.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-dk6svnhcephrzgz4mfpcmtm7@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

12 Mar, 2015

1 commit

  • So that we can debug feature detection problems.

    It will appear on $(OUTPUT)feature-checks/.make-libbabeltrace.output,
    using the libbabeltrace feature test.

    Whole process:

    [acme@ssdandy linux]$ make -C tools/perf install-bin
    make: Entering directory `/home/acme/git/linux/tools/perf'
    BUILD: Doing 'make -j8' parallel build
    config/Makefile:425: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
    config/Makefile:709: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev

    Auto-detecting system features:
    ... dwarf: [ on ]
    ... glibc: [ on ]
    ... gtk2: [ on ]
    ... libaudit: [ on ]
    ... libbfd: [ on ]
    ... libelf: [ on ]
    ... libnuma: [ on ]
    ... libperl: [ on ]
    ... libpython: [ on ]
    ... libslang: [ on ]
    ... libunwind: [ OFF ]
    ... libdw-dwarf-unwind: [ on ]
    ... libbabeltrace: [ OFF ]

    [acme@ssdandy linux]$ find tools/perf -name ".make-*.output" | grep lib | tail -5
    tools/perf/config/feature-checks/.make-libdw-dwarf-unwind.output
    tools/perf/config/feature-checks/.make-libbabeltrace.output
    tools/perf/config/feature-checks/.make-zlib.output
    tools/perf/config/feature-checks/.make-liberty.output
    tools/perf/config/feature-checks/.make-liberty-z.output
    [acme@ssdandy linux]$
    [acme@ssdandy linux]$ cat tools/perf/config/feature-checks/.make-libbabeltrace.output
    make[1]: Entering directory `/home/acme/git/linux/tools/perf/config/feature-checks'
    gcc -MD -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c -Wl,-z,noexecstack -lbabeltrace-ctf # -lbabeltrace provided by
    test-libbabeltrace.c:2:42: fatal error: babeltrace/ctf-writer/writer.h: No such file or directory
    #include
    ^
    compilation terminated.
    make[1]: *** [test-libbabeltrace.bin] Error 1
    make[1]: Leaving directory `/home/acme/git/linux/tools/perf/config/feature-checks'
    [acme@ssdandy linux]$

    So the libbabeltrace feature will not be builtin, but if we do what is required for it
    to be built, namely point where we have it installed:

    [acme@ssdandy linux]$ time make -C tools/perf LIBBABELTRACE_DIR=/opt/libbabeltrace install-bin
    make: Entering directory `/home/acme/git/linux/tools/perf'
    BUILD: Doing 'make -j8' parallel build
    config/Makefile:425: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR

    Auto-detecting system features:
    ... dwarf: [ on ]
    ... glibc: [ on ]
    ... gtk2: [ on ]
    ... libaudit: [ on ]
    ... libbfd: [ on ]
    ... libelf: [ on ]
    ... libnuma: [ on ]
    ... libperl: [ on ]
    ... libpython: [ on ]
    ... libslang: [ on ]
    ... libunwind: [ OFF ]
    ... libdw-dwarf-unwind: [ on ]
    ... libbabeltrace: [ on ]
    ... zlib: [ on ]
    ... DWARF post unwind library: libdw

    [acme@ssdandy linux]$ find tools/perf -name ".make-libbabel*.output" | grep lib | tail -5
    tools/perf/config/feature-checks/.make-libbabeltrace.output
    [acme@ssdandy linux]$ cat tools/perf/config/feature-checks/.make-libbabeltrace.output
    make[1]: Entering directory `/home/acme/git/linux/tools/perf/config/feature-checks'
    gcc -MD -I/opt/libbabeltrace/include -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c -Wl,-z,noexecstack -L/opt/libbabeltrace/lib -lbabeltrace-ctf # -lbabeltrace provided by
    make[1]: Leaving directory `/home/acme/git/linux/tools/perf/config/feature-checks'
    [acme@ssdandy linux]$

    Acked-by: Jiri Olsa
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jeremie Galarneau
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Sebastian Andrzej Siewior
    Cc: Tom Zanussi
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-h53xwueqwdeeiqcv9f50nqqb@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

25 Feb, 2015

1 commit

  • Adding feature check for babeltrace library [1], which will be used for
    perf data file CTF [2] conversion in following patches.

    The babeltrace library is now automatically detected as standard
    feature. It's possible to specify LIBBABELTRACE_DIR make variable to
    specify location of installed libbabeltrace, like:

    $ make LIBBABELTRACE_DIR=/opt/libbabeltrace/
    BUILD: Doing 'make -j4' parallel build

    Auto-detecting system features:
    ... dwarf: [ on ]
    ... glibc: [ on ]
    ... gtk2: [ on ]
    ... libaudit: [ on ]
    ... libbfd: [ on ]
    ... libelf: [ on ]
    ... libnuma: [ on ]
    ... libperl: [ on ]
    ... libpython: [ on ]
    ... libslang: [ on ]
    ... libunwind: [ on ]
    ... libbabeltrace: [ on ]
    ... libdw-dwarf-unwind: [ on ]
    ... zlib: [ on ]
    ... DWARF post unwind library: libunwind

    NOTE The installation of the [1] to to used by above make:
    $ git clone git://git.efficios.com/babeltrace.git
    $ cd babeltrace
    $ vim README
    $ ./bootstrap
    $ ./configure --prefix=/opt/libbabeltrace
    $ make prefix=/opt/libbabeltrace
    $ sudo make install prefix=/opt/libbabeltrace

    Please make sure that the /opt/libbabeltrace/lib directory is in your
    LD_LIBRARY_PATH:

    $ export LD_LIBRARY_PATH=/opt/libbabeltrace/lib

    [1] babeltrace - http://www.efficios.com/babeltrace
    [2] Common Trace Format - http://www.efficios.com/ctf

    Signed-off-by: Jiri Olsa
    Acked-by: Namhyung Kim
    Reviewed-by: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jeremie Galarneau
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Sebastian Andrzej Siewior
    Cc: Tom Zanussi
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1424470628-5969-2-git-send-email-jolsa@kernel.org
    Signed-off-by: Sebastian Andrzej Siewior
    [ Added missing babeltrace build instructions ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

13 Feb, 2015

10 commits

  • Get more verbose output wrt displaying executed commands from make.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-68v67h59zoz7ilb1ggcuff3j@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the libtraceevent library building under tools build framework.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/n/tip-opvx59tcawlmm916lg4aff4h@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Renaming libapikfs.a to libapi.a, because it's not just 'fs' specific
    library now.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-g1mk5oj2ayq4vn653ovfg3gv@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the libapikfs library building under tools build framework.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-xjo8r7nuqy9mvlfrmx9zcfwb@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Removing PERF-CFLAGS file, because the build framework stores full build
    command line for each object and triggers rebuilt if necessary.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-99hamnd2msiwgsi78yauihhd@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Removing uneeded variables from Makefile.perf:

    BUILTIN_OBJS LIB_OBJS GTK_OBJS
    - objects are now hold by in the build Makefiles

    LIB_H
    - header dependencies iare now handled by Build
    framework

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-o85k0klhwqh3fmvryfgcpr95@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Removing subdirectories creation support from Makefile.perf as it's no
    longer needed, since it's properly handled by new build system.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-2i8x5hdllpm6cyhfh1cr88hv@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Add support to build single targets, like:

    $ make util/map.o # objects
    $ make util/map.i # preprocessor
    $ make util/map.s # assembly

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-tt10y0dmweq6rjaod937rpb4@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the perf object building under build framework to be included in
    the perf build object.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-wiiciip2w6ajvj03huqz50xw@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the zlib objects building under build framework to be included in
    the libperf build object.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-cpbb47g82ahpa4yqfr9dcobq@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

12 Feb, 2015

6 commits

  • Move the regs objects building under build framework to be included in
    the libperf build object.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-hgny792g5x5iaklc34aa57uh@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the scripts objects building under build framework to be included
    in the libperf build object.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-ry8pd41ahwpq9h46i8te33c7@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the gtk objects building under build framework.

    Add new gtk build object so it's separated from the rest of the code and
    could be librarized.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-cd27z7vww85nxdq37rkjkkbm@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the slang objects building under build framework to be included in
    the libperf build object.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-2ofo1r00jl6i143qxcl9n2jr@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the ui objects building under build framework to be included in the
    libperf build object.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-re5vuat8uu396n7hyor9b5ve@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move the dwarf unwind objects building under build framework to be
    included in the libperf build object.

    Signed-off-by: Jiri Olsa
    Tested-by: Sukadev Bhattiprolu
    Tested-by: Will Deacon
    Cc: Alexis Berlemont
    Cc: Borislav Petkov
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-7f7dmhkhs0e7jnqiu9ibzqia@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa