1. 09 12月, 2012 8 次提交
  2. 20 11月, 2012 1 次提交
    • D
      perf: Make perf build for x86 with UAPI disintegration applied · d2709c7c
      David Howells 提交于
      Make perf build for x86 once the UAPI disintegration patches for that arch
      have been applied by adding the appropriate -I flags - in the right order -
      and then converting some #includes that use ../.. notation to find main kernel
      headerfiles to use <asm/foo.h> and <linux/foo.h> instead.
      
      Note that -Iarch/foo/include/uapi is present _before_ -Iarch/foo/include.
      This makes sure we get the userspace version of the pt_regs struct.  Ideally,
      we wouldn't have the latter -I flag at all, but unfortunately we want
      asm/svm.h and asm/vmx.h in builtin-kvm.c and these aren't part of the UAPI -
      at least not for x86.  I wonder if the bits outside of the __KERNEL__ guards
      *should* be transferred there.
      
      I note also that perf seems to do its dependency handling manually by listing
      all the header files it might want to use in LIB_H in the Makefile.  Can this
      be changed to use -MD?
      
      Note that to do make this work, we need to export and UAPI disintegrate
      linux/hw_breakpoint.h, which I think should've been exported previously so that
      perf can access the bits.  We have to do this in the same patch to maintain
      bisectability.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      d2709c7c
  3. 15 11月, 2012 13 次提交
  4. 10 11月, 2012 2 次提交
    • N
      perf annotate: Merge same lines in summary view · 41127965
      Namhyung Kim 提交于
      The --print-line option of perf annotate command shows summary for
      each source line.  But it didn't merge same lines so that it can
      appear multiple times.
      
      * before:
      
        Sorted summary for file /home/namhyung/bin/mcol
        ----------------------------------------------
           21.71 /home/namhyung/tmp/mcol.c:26
           20.66 /home/namhyung/tmp/mcol.c:25
            9.53 /home/namhyung/tmp/mcol.c:24
            7.68 /home/namhyung/tmp/mcol.c:25
            7.67 /home/namhyung/tmp/mcol.c:25
            7.66 /home/namhyung/tmp/mcol.c:26
            7.49 /home/namhyung/tmp/mcol.c:26
            6.92 /home/namhyung/tmp/mcol.c:25
            6.81 /home/namhyung/tmp/mcol.c:25
            1.07 /home/namhyung/tmp/mcol.c:26
            0.52 /home/namhyung/tmp/mcol.c:25
            0.51 /home/namhyung/tmp/mcol.c:25
            0.51 /home/namhyung/tmp/mcol.c:24
      
      * after:
      
        Sorted summary for file /home/namhyung/bin/mcol
        ----------------------------------------------
           50.77 /home/namhyung/tmp/mcol.c:25
           37.94 /home/namhyung/tmp/mcol.c:26
           10.04 /home/namhyung/tmp/mcol.c:24
      
      To do that, introduce percent_sum field so that the normal
      line-by-line output doesn't get changed.
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1352440729-21848-1-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      41127965
    • N
      perf annotate: Whitespace fixups · 2ba34aaa
      Namhyung Kim 提交于
      Some lines are indented by whitespace characters rather than tabs.  Fix
      them.
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1352482044-3443-3-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      2ba34aaa
  5. 09 11月, 2012 5 次提交
  6. 08 11月, 2012 3 次提交
  7. 06 11月, 2012 2 次提交
  8. 01 11月, 2012 1 次提交
  9. 31 10月, 2012 4 次提交
    • A
      perf annotate: Handle XBEGIN like a jump · ffadcf09
      Andi Kleen 提交于
      So that the browser still shows the abort label.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1351643663-23828-18-git-send-email-andi@firstfloor.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ffadcf09
    • A
      perf tools: Handle --version string generation on machines without git · 688b2c2f
      Arnaldo Carvalho de Melo 提交于
      If git is installed we'll have a 'perf --version' output of this form:
      
      $ make -j8 -C tools/perf/ O=/home/acme/git/build/perf install
      $ perf --version
      perf version 3.7.rc3.g3afad6
      
      Now on a machine without git installed:
      
      $ mv  /home/acme/bin/git /home/acme/bin/git.OFF
      $ make -j8 -C tools/perf/ O=/home/acme/git/build/perf install
      $ perf --version
      perf version 3.7.0-rc2
      
      That is, no error message due to git not being installed will appear on the
      screen and instead the version string in the top level Makefile will be
      used.
      Requested-by: NIngo Molnar <mingo@kernel.org>
      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: Namhyung Kim <namhyung@gmail.com>
      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-am6yp6phvxyjmyndxogpunjv@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      688b2c2f
    • I
      perf tools: Further speed up the perf build · 0e2af956
      Ingo Molnar 提交于
      There's another source of overhead in the perf version string generator:
      
         git update-index -q --refresh
      
      ... which will iterate the whole checked out tree. This can be pretty
      slow on NFS volumes, but takes some time even with local SSD disks and a
      fully cached kernel tree:
      
       $ perf stat --null --repeat 3 --pre "rm -f PERF-VERSION-FILE" util/PERF-VERSION-GEN
       PERF_VERSION = 3.7.rc3.g5399b3b.dirty
       PERF_VERSION = 3.7.rc3.g5399b3b.dirty
       PERF_VERSION = 3.7.rc3.g5399b3b.dirty
      
       Performance counter stats for 'util/PERF-VERSION-GEN' (3 runs):
      
             0.306999221 seconds time elapsed                                          ( +-  0.56% )
      
      So remove the .dirty differentiator as well - it adds little information
      because locally patched git trees are common, but seldom are the perf
      tools modified.
      
      So a lot of version strings are reported as 'dirty' while in fact they
      are pristine perf builds. For example 99% of my perf builds are not
      patched but the kernel tree is slightly patched, which adds the .dirty
      tag.
      
      Eliminating that tag speeds up version generation by another order of
      magnitude:
      
       $ perf stat --null --repeat 3 --sync --pre "rm -f PERF-VERSION-FILE" util/PERF-VERSION-GEN
       PERF_VERSION = 3.7.rc3.g4b0bd3
       PERF_VERSION = 3.7.rc3.g4b0bd3
       PERF_VERSION = 3.7.rc3.g4b0bd3
      
       Performance counter stats for 'util/PERF-VERSION-GEN' (3 runs):
      
             0.021270923 seconds time elapsed                                          ( +-  1.94% )
      
      (Also clean up some of the comments around this code.)
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      Cc: Andrew Vagin <avagin@openvz.org>
      Cc: Borislav Petkov <bp@amd64.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/20121030085441.GC8245@gmail.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      0e2af956
    • I
      perf tools: Speed up the perf build time by simplifying the perf --version string generation · acddedfb
      Ingo Molnar 提交于
      Building perf is pretty slow on trees that have a lot of commits
      relative to the nearest Git tag. This slowness manifests itself during
      version string generation:
      
       $ perf stat --null --repeat 3 --sync --pre "rm -f PERF-VERSION-FILE" util/PERF-VERSION-GEN
       PERF_VERSION = 3.7.rc3.1458.g5399b3b
       PERF_VERSION = 3.7.rc3.1458.g5399b3b
       PERF_VERSION = 3.7.rc3.1458.g5399b3b
      
       Performance counter stats for 'util/PERF-VERSION-GEN' (3 runs):
      
             2.857503976 seconds time elapsed                                          ( +-  0.22% )
      
      The build can be even slower than that, when one over NFS volumes.
      
      The reason for the slowness is that util/PERF-VERSION-GEN uses "git
      describe" to generate the string, which has to count the "number of
      commits distance" from the nearest tag - the ".1458." count in the
      output above. For that Git had to extract and decompress 1458 Git
      objects, which takes time and bandwidth.
      
      But this "number of commits" value is mostly irrelevant in practice. We
      either want to know an approximate tag name, or we want to know the
      precise sha1.
      
      So this patch simplifies the version string to:
      
       PERF_VERSION = 3.7.rc3.g5399b3b.dirty
      
      which speeds up the version string generation script by an order of
      magnitude:
      
       $ perf stat --null --repeat 3 --sync --pre "rm -f PERF-VERSION-FILE" util/PERF-VERSION-GEN
       PERF_VERSION = 3.7.rc3.g5399b3b.dirty
       PERF_VERSION = 3.7.rc3.g5399b3b.dirty
       PERF_VERSION = 3.7.rc3.g5399b3b.dirty
      
       Performance counter stats for 'util/PERF-VERSION-GEN' (3 runs):
      
             0.307633559 seconds time elapsed                                          ( +-  0.84% )
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      Cc: Andrew Vagin <avagin@openvz.org>
      Cc: Borislav Petkov <bp@amd64.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/20121030084600.GB8245@gmail.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      acddedfb
  10. 30 10月, 2012 1 次提交