1. 11 10月, 2013 2 次提交
    • I
      perf tools: Fix redirection printouts · cee972c0
      Ingo Molnar 提交于
      Fix the duplicate util/util printout Arnaldo reported:
      
             $ make V=1 O=/tmp/build/perf -C tools/perf/ util/srcline.o
         ...
             # Redirected target util/srcline.o =>     /tmp/build/perf/util/util/srcline.o
      Reported-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/20131010054256.GA23716@gmail.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      cee972c0
    • A
      perf trace: Add 'trace' alias to 'perf trace' · b52bc234
      Arnaldo Carvalho de Melo 提交于
      Make 'perf trace' more accessible by aliasing it to just 'trace':
      
        [root@zoo linux]# trace --duration 15 -a -e futex sleep 1
         110.092 (16.188 ms): libvirtd/1166 futex(uaddr: 0x185b344, op: WAIT|PRIV, val: 174293                    ) = 0
         110.101 (15.903 ms): libvirtd/1171 futex(uaddr: 0x185b3dc, op: WAIT|PRIV, val: 139265                    ) = 0
         111.594 (15.776 ms): libvirtd/1165 futex(uaddr: 0x185b344, op: WAIT|PRIV, val: 174295                    ) = 0
         111.610 (15.969 ms): libvirtd/1169 futex(uaddr: 0x185b3dc, op: WAIT|PRIV, val: 139267                    ) = 0
         113.556 (16.216 ms): libvirtd/1168 futex(uaddr: 0x185b3dc, op: WAIT|PRIV, val: 139269                    ) = 0
         291.265 (199.508 ms): chromium-brows/15830 futex(uaddr: 0x7fff2986bcb4, op: WAIT_BITSET|PRIV|CLKRT, val: 1, utime: 0x7fff2986bab0, val3: 4294967295) = -1 ETIMEDOUT Connection timed out
           360.354 (69.053 ms): chromium-brows/15830 futex(uaddr: 0x7fff2986bcb4, op: WAIT_BITSET|PRIV|CLKRT, val: 1, utime: 0x7fff2986bab0, val3: 4294967295) = -1 ETIMEDOUT Connection timed out
        [root@zoo linux]#
      
      I.e. looking for futex calls that take at least 15ms, system wide, during a one
      second window. Now to get callchains into 'trace' to figure out what are those
      locks :-)
      Requested-by: NIngo Molnar <mingo@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-ch4smqz8b5fmgrte7c5e4fuw@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      b52bc234
  2. 10 10月, 2013 2 次提交
  3. 09 10月, 2013 5 次提交
    • I
      tools/perf/build: Fix O=/some/dir perf.o type of targets · 1f7c645a
      Ingo Molnar 提交于
      If someone specifies a single target, mixed with O=, the following way:
      
          hubble:~/tip/tools/perf> make O=/tmp/perf util/stat.o
          BUILD: Doing 'make -j8' parallel build
          gcc  -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security -Wformat-y2k [...]
      
      The build might even fail, if a target depends on other targets:
      
          hubble:~/tip/tools/perf> make O=/tmp/perf perf.o
          ...
          perf.c: In function ‘handle_options’:
          perf.c:155:21: error: ‘PERF_HTML_PATH’ undeclared (first use in this function)
      
      The correct way to invoke such targets is:
      
          hubble:~/tip/tools/perf> make O=/tmp/perf /tmp/perf/perf.o
          BUILD: Doing 'make -j8' parallel build
          GEN /tmp/perf/common-cmds.h
          CC /tmp/perf/perf.o
      
      But that's unnecessary typing and it's also easy to mistakenly build into the
      source directory.
      
      To fix this remove the generic suffix rules and add redirection to $(OUTPUT)
      for the most popular .o targets.
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/n/tip-mk0oiukmhgSbrll6chrPkkqr@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      1f7c645a
    • I
      tools/perf/build: Flip Makefile.parallel and Makefile.perf · bd69cc28
      Ingo Molnar 提交于
      To make it more apparent that there is not change in functionality we introduced
      Makefile.parallel separately and now flip it with the main Makefile, which
      moves into Makefile.perf.
      
      The renames are:
      
         Makefile.parallel => Makefile
         Makefile          => Makefile.perf
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/n/tip-igRfuw9ugbnnpixLd6wpptzl@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      bd69cc28
    • I
      tools/perf/build: Invoke feature-checks 'clean' target from the main Makefile · de0f03fb
      Ingo Molnar 提交于
      config/Makefile is not included for the 'clean' target, so invoke the
      config/feature-checks/Makefile 'clean' target from Makefile.perf.
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/n/tip-sh2cGvmsjbrazarlqre7pVwt@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      de0f03fb
    • I
      tools/perf/build: Speed up the final link · c9404c66
      Ingo Molnar 提交于
      libtraceevent.a and liblk.a rules have always-missed dependencies,
      which causes python.so to be relinked at every build attempt - even
      if none of the affected code changes.
      
      This slows down re-builds unnecessarily, by adding more than a second
      to the build time:
      
        comet:~/tip/tools/perf> time make
      
        ...
      
          SUBDIR /fast/mingo/tip/tools/lib/lk/
          make[1]: `liblk.a' is up to date.
          SUBDIR /fast/mingo/tip/tools/lib/traceevent/
          LINK perf
          GEN python/perf.so
      
        real    0m1.701s
        user    0m1.338s
        sys     0m0.301s
      
      Add the (trivial) dependencies to not force a re-link.
      
      This speeds up an empty re-build enormously:
      
        comet:~/tip/tools/perf> time make
      
        ...
      
        real    0m0.207s
        user    0m0.134s
        sys     0m0.028s
      
      [ This adds some coupling between the build dependencies of
        libtraceevent and liblk - but until those stay relatively
        simple this should not be an issue. ]
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/n/tip-wvmlrurufuk6mo1ovtNigguT@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      c9404c66
    • I
      tools/perf/build: Speed up git-version test on re-make · c72e3f04
      Ingo Molnar 提交于
      util/PERF-VERSION-GEN is currently executed on every build attempt,
      and this script can take a lot of time on trees that are at a
      significant git-distance from Linus's tree:
      
        $ time util/PERF-VERSION-GEN
      
        real    0m4.343s
        user    0m4.176s
        sys     0m0.140s
      
      It also takes a lot of time if the Git repository is network attached, etc.,
      because the commands it uses:
      
              TAG=$(git describe --abbrev=0 --match "v[0-9].[0-9]*" 2>/dev/null )
      
      has to count commits from the nearest tag and thus has to access (and
      decompress) every git commit blob on the relevant version path.
      
      Even on Linus's tree it takes 0.28 seconds on a fast box to count all the
      commits and get the git version string:
      
        $ time util/PERF-VERSION-GEN
      
        real    0m0.279s
        user    0m0.247s
        sys     0m0.025s
      
      But the version string only has to be regenerated if the git repository's
      head commit changes. So add a dependency of ../../.git/HEAD and touch
      the file every time it's regenerated, so that Make's build rules can
      pick it up and cache the result:
      
        make: `PERF-VERSION-FILE' is up to date.
      
        real    0m0.184s
        user    0m0.117s
        sys     0m0.026s
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/n/tip-wvmlrurufuk6mo1ovtNigguT@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      c72e3f04
  4. 05 10月, 2013 1 次提交
  5. 06 9月, 2013 1 次提交
  6. 03 9月, 2013 1 次提交
  7. 30 8月, 2013 2 次提交
  8. 27 8月, 2013 1 次提交
  9. 08 8月, 2013 1 次提交
  10. 23 7月, 2013 1 次提交
  11. 22 7月, 2013 1 次提交
    • K
      perf tools: Fix build with perl 5.18 · 575bf1d0
      Kirill A. Shutemov 提交于
      perl.h from new Perl release doesn't like -Wundef and -Wswitch-default:
      
      /usr/lib/perl5/core_perl/CORE/perl.h:548:5: error: "SILENT_NO_TAINT_SUPPORT" is not defined [-Werror=undef]
       #if SILENT_NO_TAINT_SUPPORT && !defined(NO_TAINT_SUPPORT)
           ^
      /usr/lib/perl5/core_perl/CORE/perl.h:556:5: error: "NO_TAINT_SUPPORT" is not defined [-Werror=undef]
       #if NO_TAINT_SUPPORT
           ^
      In file included from /usr/lib/perl5/core_perl/CORE/perl.h:3471:0,
                       from util/scripting-engines/trace-event-perl.c:30:
      /usr/lib/perl5/core_perl/CORE/sv.h:1455:5: error: "NO_TAINT_SUPPORT" is not defined [-Werror=undef]
       #if NO_TAINT_SUPPORT
           ^
      In file included from /usr/lib/perl5/core_perl/CORE/perl.h:3472:0,
                       from util/scripting-engines/trace-event-perl.c:30:
      /usr/lib/perl5/core_perl/CORE/regexp.h:436:5: error: "NO_TAINT_SUPPORT" is not defined [-Werror=undef]
       #if NO_TAINT_SUPPORT
           ^
      In file included from /usr/lib/perl5/core_perl/CORE/hv.h:592:0,
                       from /usr/lib/perl5/core_perl/CORE/perl.h:3480,
                       from util/scripting-engines/trace-event-perl.c:30:
      /usr/lib/perl5/core_perl/CORE/hv_func.h: In function ‘S_perl_hash_siphash_2_4’:
      /usr/lib/perl5/core_perl/CORE/hv_func.h:222:3: error: switch missing default case [-Werror=switch-default]
         switch( left )
         ^
      /usr/lib/perl5/core_perl/CORE/hv_func.h: In function ‘S_perl_hash_superfast’:
      /usr/lib/perl5/core_perl/CORE/hv_func.h:274:5: error: switch missing default case [-Werror=switch-default]
           switch (rem) { \
           ^
      /usr/lib/perl5/core_perl/CORE/hv_func.h: In function ‘S_perl_hash_murmur3’:
      /usr/lib/perl5/core_perl/CORE/hv_func.h:398:5: error: switch missing default case [-Werror=switch-default]
           switch(bytes_in_carry) { /* how many bytes in carry */
           ^
      
      Let's disable the warnings for code which uses perl.h.
      Signed-off-by: NKirill A. Shutemov <kirill@shutemov.name>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1372063394-20126-1-git-send-email-kirill@shutemov.nameSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      575bf1d0
  12. 17 7月, 2013 1 次提交
    • R
      perf tools: Fix 'make tools/perf' · ab4ecda5
      Robert Richter 提交于
      Boris just raised another variant of building perf tools which is
      broken:
      
       $ make tools/perf
       ...
           LINK /home/robert/cx/linux/tools/perf/perf
       gcc: error: ../linux/tools/lib/lk/liblk.a: No such file or directory
      
      The variant wasn't considered by:
      
       107de372 perf tools: Fix build errors with O and DESTDIR make vars set
      
      There are other variant of building perf too:
      
       $ make -C tools perf
       $ make -C tools/perf
      
      Plus variants with O= and DESTDIR set.
      
      This patch fixes the above and was tested with the following:
      
       $ make O=... DESTDIR=... tools/perf
       $ make O=... DESTDIR=... -C tools/ perf
       $ make O=... DESTDIR=... -C tools/perf
       $ make tools/perf
       $ make -C tools/ perf
       $ make -C tools/perf
      Reported-by: NBorislav Petkov <bp@alien8.de>
      Signed-off-by: NRobert Richter <robert.richter@linaro.org>
      Signed-off-by: NRobert Richter <rric@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-tip-commits@vger.kernel.org
      Link: http://lkml.kernel.org/r/20130716145036.GH8731@rric.localhostSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ab4ecda5
  13. 13 7月, 2013 1 次提交
  14. 09 7月, 2013 1 次提交
  15. 30 5月, 2013 7 次提交
  16. 29 5月, 2013 11 次提交
  17. 28 5月, 2013 1 次提交