06 Jan, 2020

1 commit

  • Move libperf from its current location under tools/perf to a separate
    directory under tools/lib/.

    Also change various paths (mainly includes) to reflect the libperf move
    to a separate directory and add a new directory under MANIFEST.

    Signed-off-by: Jiri Olsa
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Alexander Shishkin
    Cc: Michael Petlan
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lore.kernel.org/lkml/20191206210612.8676-2-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

28 Nov, 2019

1 commit

  • $ make -C tools/perf build-test

    does, ends up with these two problems:

    make[3]: *** No rule to make target '/tmp/tmp.zq13cHILGB/perf-5.3.0/include/uapi/linux/bpf.h', needed by 'bpf_helper_defs.h'. Stop.
    make[3]: *** Waiting for unfinished jobs....
    make[2]: *** [Makefile.perf:757: /tmp/tmp.zq13cHILGB/perf-5.3.0/tools/lib/bpf/libbpf.a] Error 2
    make[2]: *** Waiting for unfinished jobs....

    Because $(srcdir) points to the /tmp/tmp.zq13cHILGB/perf-5.3.0 directory
    and we need '/tools/ after that variable, and after fixing this then we
    get to another problem:

    /bin/sh: /home/acme/git/perf/tools/scripts/bpf_helpers_doc.py: No such file or directory
    make[3]: *** [Makefile:184: bpf_helper_defs.h] Error 127
    make[3]: *** Deleting file 'bpf_helper_defs.h'
    LD /tmp/build/perf/libapi-in.o
    make[2]: *** [Makefile.perf:778: /tmp/build/perf/libbpf.a] Error 2
    make[2]: *** Waiting for unfinished jobs....

    Because this requires something outside the tools/ directories that gets
    collected into perf's detached tarballs, to fix it just add it to
    tools/perf/MANIFEST, which this patch does, now it works for that case
    and also for all these other cases.

    Fixes: e01a75c15969 ("libbpf: Move bpf_{helpers, helper_defs, endian, tracing}.h into libbpf")
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Alexei Starovoitov
    Cc: Adrian Hunter
    Cc: Alexei Starovoitov
    Cc: Andrii Nakryiko
    Cc: Daniel Borkmann
    Cc: Jiri Olsa
    Cc: Martin KaFai Lau
    Cc: Namhyung Kim
    Link: https://lkml.kernel.org/n/tip-4pnkg2vmdvq5u6eivc887wen@git.kernel.org
    Link: https://lore.kernel.org/bpf/20191126151045.GB19483@kernel.org

    Arnaldo Carvalho de Melo
     

09 Jul, 2019

1 commit


02 Jul, 2019

1 commit

  • This came from the kernel lib/argv_split.c, so move it to
    tools/lib/argv_split.c, to get it closer to the kernel structure.

    We need to audit the usage of argv_split() to figure out if it is really
    necessary to do have one allocation per argv[] entry, looking at one of
    its users I guess that is not the case and we probably are even leaking
    those allocations by not using argv_free() judiciously, for later.

    With this we further remove stuff from tools/perf/util/, reducing the
    perf specific codebase and encouraging other tools/ code to use these
    routines so as to keep the style and constructs used with the kernel.

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Masami Hiramatsu
    Cc: Namhyung Kim
    Link: https://lkml.kernel.org/n/tip-j479s1ive9h75w5lfg16jroz@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

26 Jun, 2019

1 commit

  • We got the sane_ctype.h headers from git and kept using it so far, but
    since that code originally came from the kernel sources to the git
    sources, perhaps its better to just use the one in the kernel, so that
    we can leverage tools/perf/check_headers.sh to be notified when our copy
    gets out of sync, i.e. when fixes or goodies are added to the code we've
    copied.

    This will help with things like tools/lib/string.c where we want to have
    more things in common with the kernel, such as strim(), skip_spaces(),
    etc so as to go on removing the things that we have in tools/perf/util/
    and instead using the code in the kernel, indirectly and removing things
    like EXPORT_SYMBOL(), etc, getting notified when fixes and improvements
    are made to the original code.

    Hopefully this also should help with reducing the difference of code
    hosted in tools/ to the one in the kernel proper.

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Link: https://lkml.kernel.org/n/tip-7k9868l713wqtgo01xxygn12@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

25 Sep, 2017

1 commit

  • Now that I'm switching the container builds from using a local volume
    pointing to the kernel repository with the perf sources, instead getting
    a detached tarball to be able to use a container cluster, some places
    broke because I forgot to put some of the required files in
    tools/perf/MANIFEST, namely some bitsperlong.h files.

    So, to fix it do the same as for tools/build/ and pack the whole
    tools/arch/ directory.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-wmenpjfjsobwdnfde30qqncj@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

02 Aug, 2017

3 commits


01 Aug, 2017

2 commits

  • We will use it to generate tables for beautifying ioctl's 'cmd' arg.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-bqoq114h917u6ggazn8m1w0t@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • So that we can build on older systems where otherwise we would end up
    with:

    CC /tmp/build/perf/trace/beauty/ioctl.o
    trace/beauty/ioctl.c: In function 'ioctl__scnprintf_tty_cmd':
    trace/beauty/ioctl.c:25:17: error: 'TIOCGEXCL' undeclared (first use in this function)
    trace/beauty/ioctl.c:25:17: note: each undeclared identifier is reported only once for each function it appears in
    trace/beauty/ioctl.c:25:2: error: array index in initializer not of integer type
    trace/beauty/ioctl.c:25:2: error: (near initialization for 'ioctl_tty_cmd')

    This way we can build a tool on an older system and it will still be
    capable of processing perf.data files generated on newer systems.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-8qvkv6txwuzua6d0yvt65wl3@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

26 Jul, 2017

1 commit

  • This file was copied from the kernel so that we could build tools/perf/
    on older systems where some newer defines, such as these are available:

    CC trace/beauty/fcntl.o
    trace/beauty/fcntl.c: In function ‘syscall_arg__scnprintf_fcntl_arg’:
    trace/beauty/fcntl.c:93:13: error: ‘F_OFD_SETLK’ undeclared (first use in this function)
    cmd == F_OFD_SETLK || cmd == F_OFD_SETLKW || cmd == F_OFD_GETLK ||
    ^
    trace/beauty/fcntl.c:93:13: note: each undeclared identifier is reported only once for each function it appears in
    trace/beauty/fcntl.c:93:35: error: ‘F_OFD_SETLKW’ undeclared (first use in this function)
    cmd == F_OFD_SETLK || cmd == F_OFD_SETLKW || cmd == F_OFD_GETLK ||
    ^
    trace/beauty/fcntl.c:93:58: error: ‘F_OFD_GETLK’ undeclared (first use in this function)
    cmd == F_OFD_SETLK || cmd == F_OFD_SETLKW || cmd == F_OFD_GETLK ||
    ^
    mv: cannot stat ‘trace/beauty/.fcntl.o.tmp’: No such file or directory
    make[4]: *** [trace/beauty/fcntl.o] Error 1
    make[3]: *** [trace/beauty] Error 2
    make[3]: *** Waiting for unfinished jobs....
    CC tests/llvm.o

    But we need to make sure that it is also in the tools/perf/MANIFEST file, that
    is used to build a tarball for detached (from the kernel sources) compilation,
    which was failing, with the above message, on a RHEL7.4 system, fix it.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Fixes: 84d1d8a12df3 ("tools include uapi asm-generic: Grab a copy of fcntl.h")
    Link: http://lkml.kernel.org/n/tip-2d5px7aq5stbwi24pgirwtlm@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

20 Jul, 2017

1 commit

  • So that we make sure we have recent enough defines for things
    such as 'perf trace' system call argument beautifiers.

    For instance, the 'clone' syscall argument 'flag' needs to use
    CLONE_NEWCGROUP, and that is not available in RHEL7.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-81sln0ng4a2lcxrth14vcov4@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

20 Apr, 2017

1 commit


31 Mar, 2017

1 commit


04 Mar, 2017

2 commits

  • To aid in catching bugs when using atomics as a reference count.

    This is a trimmed down version with just what is used by tools/ at
    this point.

    After this, the patches submitted by Elena for tools/ doing the
    conversion from atomic_ to recount_ methods can be applied and tested.

    To activate it, buint perf with:

    make DEBUG=1 -C tools/perf

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Elena Reshetova
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-dqtxsumns9ov0l9r5x398f19@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Will be included from atomic.h and used in refcount.h

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Elena Reshetova
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-pzrydfee75mhq64kazxmf9it@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

14 Feb, 2017

1 commit

  • To match the kernel headers structure, setting up things that are
    specific to gcc or to some specific version of gcc.

    It gets included by linux/compiler.h when gcc is the compiler being
    used.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Joe Perches
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-fabcqfq4asodq9t158hcs8t3@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

24 Oct, 2016

1 commit

  • Adding for_each_clear_bit macro plus all its the necessary backbone
    functions. Taken from related kernel code. It will be used in following
    patch.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-cayv2zbqi0nlmg5sjjxs1775@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

14 Sep, 2016

1 commit

  • Some mmap related macros have different values for different
    architectures. This patch introduces uapi mman.h for each
    architectures.

    Three headers are cloned from kernel include to tools/include:

    tools/include/uapi/asm-generic/mman-common.h
    tools/include/uapi/asm-generic/mman.h
    tools/include/uapi/linux/mman.h

    The main part of this patch is generated by following script:

    macros=`cat $0 | awk 'V==1 {print}; /^# start macro list/ {V=1}'`
    for arch in `ls tools/arch`
    do
    [ -d tools/arch/$arch/include/uapi/asm ] || mkdir -p tools/arch/$arch/include/uapi/asm
    src=arch/$arch/include/uapi/asm/mman.h
    target=tools/arch/$arch/include/uapi/asm/mman.h
    guard="TOOLS_ARCH_"`echo $arch | awk '{print toupper($0)}'`_UAPI_ASM_MMAN_FIX_H
    echo '#ifndef '$guard > $target
    echo '#define '$guard >> $target

    [ -f $src ] &&
    for m in $macros
    do
    if grep '#define[ \t]*'$m $src > /dev/null 2>&1
    then
    grep -h '#define[ \t]*'$m $src | sed 's/[ \t]*\/\*.*$//g' >> $target
    fi
    done

    if [ -f $src ]
    then
    grep '#include > $target
    echo "$target"
    done

    exit 0
    # Following macros are extracted from:
    # tools/perf/trace/beauty/mmap.c
    #
    # start macro list
    MADV_DODUMP
    MADV_DOFORK
    MADV_DONTDUMP
    MADV_DONTFORK
    MADV_DONTNEED
    MADV_HUGEPAGE
    MADV_HWPOISON
    MADV_MERGEABLE
    MADV_NOHUGEPAGE
    MADV_NORMAL
    MADV_RANDOM
    MADV_REMOVE
    MADV_SEQUENTIAL
    MADV_SOFT_OFFLINE
    MADV_UNMERGEABLE
    MADV_WILLNEED
    MAP_32BIT
    MAP_ANONYMOUS
    MAP_DENYWRITE
    MAP_EXECUTABLE
    MAP_FILE
    MAP_FIXED
    MAP_GROWSDOWN
    MAP_HUGETLB
    MAP_LOCKED
    MAP_NONBLOCK
    MAP_NORESERVE
    MAP_POPULATE
    MAP_PRIVATE
    MAP_SHARED
    MAP_STACK
    MAP_UNINITIALIZED
    MREMAP_FIXED
    MREMAP_MAYMOVE
    PROT_EXEC
    PROT_GROWSDOWN
    PROT_GROWSUP
    PROT_NONE
    PROT_READ
    PROT_SEM
    PROT_WRITE

    Signed-off-by: Wang Nan
    Cc: Zefan Li
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1473684871-209320-2-git-send-email-wangnan0@huawei.com
    [ Added new files to tools/perf/MANIFEST to fix the detached tarball build, add mman.h for ARC ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Wang Nan
     

24 Aug, 2016

2 commits

  • Directly accessing kernel files is not allowed anymore. As such making
    file coresight-pmu.h accessible by the perf tools and complain if this
    copy strays from the one found in the main kernel tree.

    Signed-off-by: Mathieu Poirier
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Vince Weaver
    Link: http://lkml.kernel.org/r/1470932464-726-2-git-send-email-mathieu.poirier@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Mathieu Poirier
     
  • And remove it from tools/perf/{perf,util}.h, making code that needs
    these macros to include linux/time64.h instead, to match how this is
    used in the kernel sources.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Steven Rostedt
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-e69fc1pvkgt57yvxqt6eunyg@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

19 Jul, 2016

6 commits


13 Jul, 2016

9 commits

  • So that we don't end up using the kernel one when building out of tree,
    via a detached tarball.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Fixes: 737ef7d32cb4 ("tools include: Copy linux/stringify.h from the kernel")
    Link: http://lkml.kernel.org/n/tip-t8yn1d7y0magk889ymc8jlai@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Those kernel files were being directly accessed, which we're not
    allowing anymore to avoid that changes in the kernel side break tooling.

    Warn if these copies drift from the original files.

    Cc: Adrian Hunter
    Cc: Alexander Yarygin
    Cc: Christoffer Dall
    Cc: David Ahern
    Cc: Eric Auger
    Cc: Hemant Kumar
    Cc: Jiri Olsa
    Cc: Marc Zyngier
    Cc: Namhyung Kim
    Cc: Naveen N. Rao
    Cc: Srikar Dronamraju
    Cc: Wang Nan
    Cc: Yunlong Song
    Link: http://lkml.kernel.org/n/tip-mnopguymhnwzjhw3mowllvsy@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • To allow the build to complete on older systems, where those files are
    either not uptodate, lacking some recent additions or not present at
    all.

    And check if the copy drifts from the kernel.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-3jz31pz4nw526uko5da9e7o3@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • To allow the build to complete on older systems, where those files are
    either not uptodate, lacking some recent additions or not present at
    all.

    And check if the copy drifts from the kernel.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-sxf7rpow2blsno5f7t6n0sqz@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • To allow the build to complete on older systems, where those files are
    either not uptodate, lacking some recent additions or not present at
    all.

    And check if the copy drifts from the kernel, as in this synthetic test:

    BUILD: Doing 'make -j4' parallel build
    Warning: tools/include/linux/bpf.h differs from kernel
    Warning: tools/include/linux/bpf_common.h differs from kernel

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-5plvi2gq4x469dcyybiu226q@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • We can't access kernel files directly from tools/, so copy the required
    bits, and make sure that we detect when the original files, in the
    kernel, gets modified.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-z7e76274ch5j4nugv048qacb@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • We shouldn't use headers from the kernel sources directly, instead we
    should use the system's headers or in cases where that isn't possible,
    like with perf_event.h, where the introduction of kernel features such
    as perf_event_attr.{write_backwards,sample_max_stack} and
    PERF_EVENT_IOC_PAUSE_OUTPUT take some time to become available in
    /usr/include/linux/perf_event.h we need a copy.

    Do it and check for source code drift, emitting a warning when changes
    are detected.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-v6aks5un3s5pehory6f42nrl@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • They were in tools/include/linux/kernel.h, requiring that it in turn
    included stdio.h, which is way too heavy.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Josh Poimboeuf
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-855h8olnkot9v0dajuee1lo3@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • The tools so far have been using the strerror_r() GNU variant, that
    returns a string, be it the buffer passed or something else.

    But that, besides being tricky in cases where we expect that the
    function using strerror_r() returns the error formatted in a provided
    buffer (we have to check if it returned something else and copy that
    instead), breaks the build on systems not using glibc, like Alpine
    Linux, where musl libc is used.

    So, introduce yet another wrapper, str_error_r(), that has the GNU
    interface, but uses the portable XSI variant of strerror_r(), so that
    users rest asured that the provided buffer is used and it is what is
    returned.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-d4t42fnf48ytlk8rjxs822tf@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

24 Mar, 2016

1 commit

  • A change on kernel files included by the 'perf bench memcpy' code grew some new
    include deps, breaking the detached tarball build:

    $ make -C tools/perf build-test
    make: Entering directory '/home/acme/git/linux/tools/perf'
    - tarpkg: ./tests/perf-targz-src-pkg .
    tests/make:302: recipe for target 'tarpkg' failed
    make[1]: *** [tarpkg] Error 2
    Makefile:102: recipe for target 'build-test' failed
    make: *** [build-test] Error 2
    make: Leaving directory '/home/acme/git/linux/tools/perf'
    $ cat tools/perf/tarpkg
    ./tests/perf-targz-src-pkg .
    PERF_VERSION = 4.5.g05f5ec
    PERF_VERSION = 4.5.g05f5ec
    In file included from bench/mem-memcpy-x86-64-asm.S:9:0:
    bench/../../../arch/x86/lib/memcpy_64.S:5:29: fatal error: asm/cpufeatures.h: No such file or directory
    compilation terminated.
    mv: cannot stat ‘bench/.mem-memcpy-x86-64-asm.o.tmp’: No such file or directory
    make[5]: *** [bench/mem-memcpy-x86-64-asm.o] Error 1
    make[5]: *** Waiting for unfinished jobs....
    make[4]: *** [bench] Error 2
    make[4]: *** Waiting for unfinished jobs....
    make[3]: *** [perf-in.o] Error 2
    make[3]: *** Waiting for unfinished jobs....
    make[2]: *** [all] Error 2
    $

    Add arch/*/include/asm/*features.h to tools/perf/MANIFEST so that we can
    continue to use detached tarballs to build perf.

    Now it builds ok, doing it manually:

    $ make help | grep perf
    perf-tar-src-pkg - Build perf-4.5.0.tar source tarball
    perf-targz-src-pkg - Build perf-4.5.0.tar.gz source tarball
    perf-tarbz2-src-pkg - Build perf-4.5.0.tar.bz2 source tarball
    perf-tarxz-src-pkg - Build perf-4.5.0.tar.xz source tarball
    $ ls -la perf-4.5.0.tar
    ls: cannot access perf-4.5.0.tar: No such file or directory
    $ make perf-tar-src-pkg
    TAR
    PERF_VERSION = 4.5.g32c25b
    $ ls -la perf-4.5.0.tar
    -rw-rw-r--. 1 acme acme 6318080 Mar 24 11:52 perf-4.5.0.tar
    $ mv perf-4.5.0.tar /tmp
    $ cd /tmp
    $ tar xf perf-4.5.0.tar
    $ cd perf-4.5.0/tools/perf
    $ make > /dev/null
    PERF_VERSION = 4.5.g32c25b
    $ ls -la perf
    -rwxrwxr-x. 1 acme acme 14046416 Mar 24 11:53 perf
    $ ./perf --version
    perf version 4.5.g32c25b
    $ perf bench
    Usage:
    perf bench [] []

    # List of all available benchmark collections:

    sched: Scheduler and IPC benchmarks
    mem: Memory access benchmarks
    numa: NUMA scheduling and MM benchmarks
    futex: Futex stressing benchmarks
    all: All benchmarks

    $ perf bench mem

    # List of available benchmarks for collection 'mem':

    memcpy: Benchmark for memcpy() functions
    memset: Benchmark for memset() functions
    all: Run all memory access benchmarks

    $ perf bench mem memcpy
    # Running 'mem/memcpy' benchmark:
    # function 'default' (Default memcpy() provided by glibc)
    # Copying 1MB bytes ...

    15.024038 GB/sec
    # function 'x86-64-unrolled' (unrolled memcpy() in arch/x86/lib/memcpy_64.S)
    # Copying 1MB bytes ...

    17.438616 GB/sec
    # function 'x86-64-movsq' (movsq-based memcpy() in arch/x86/lib/memcpy_64.S)
    # Copying 1MB bytes ...

    25.040064 GB/sec
    # function 'x86-64-movsb' (movsb-based memcpy() in arch/x86/lib/memcpy_64.S)
    # Copying 1MB bytes ...

    25.040064 GB/sec
    $

    Cc: Adrian Hunter
    Cc: Borislav Petkov
    Cc: David Ahern
    Cc: Hitoshi Mitake
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-2c2sncwffuabw58fj1pw86gu@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

11 Jan, 2016

1 commit

  • Adding missing bitmap.[ch] sources to the MANIFEST file. Fixes building
    'make perf-*-src-pkg' generated tarballs.

    Reported-by: Wang Nan
    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Fixes: 915b0882c310 ("tools lib: Move bitmap.[ch] from tools/perf/ to tools/{lib,include}/")
    Link: http://lkml.kernel.org/r/1452509693-13452-5-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

08 Jan, 2016

1 commit

  • These lost headers are found in arm64 cross buildings, failing to build
    perf using tarballs generated using:

    $ make perf-targz-src-pkg

    Signed-off-by: Wang Nan
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Zefan Li
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1452263041-225488-3-git-send-email-wangnan0@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Wang Nan