1. 02 5月, 2010 1 次提交
  2. 22 4月, 2010 1 次提交
  3. 26 3月, 2010 1 次提交
  4. 12 3月, 2010 1 次提交
  5. 04 2月, 2010 1 次提交
  6. 31 1月, 2010 1 次提交
  7. 24 11月, 2009 2 次提交
    • A
      perf symbols: Simplify symbol machinery setup · b32d133a
      Arnaldo Carvalho de Melo 提交于
      And also express its configuration toggles via a struct.
      
      Now all one has to do is to call symbol__init(NULL) if the
      defaults are OK, or pass a struct symbol_conf pointer with the
      desired configuration.
      
      If a tool uses kernel_maps__find_symbol() to look at the kernel
      and modules mappings for a symbol but didn't call symbol__init()
      first, that will generate a one time warning too, alerting the
      subcommand developer that symbol__init() must be called.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1259071517-3242-2-git-send-email-acme@infradead.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b32d133a
    • P
      perf tools: Fix compilation on powerpc · ee3d2504
      Paul Mackerras 提交于
      Currently, perf fails to compile on powerpc with this error:
      
           CC util/header.o
       In file included from util/../perf.h:17,
                        from util/header.c:9:
       util/../../../arch/powerpc/include/asm/unistd.h:360:27: error:
       linux/linkage.h: No such file or directory make: ***
       [util/header.o] Error 1
      
      The reason is that we still have a #define __KERNEL__ in effect
      at the point where <asm/unistd.h> gets included, which means we
      get extra stuff that we don't need or want.
      
      This fixes the problem by undefining __KERNEL__ once we have
      included the file for which we need __KERNEL__ defined.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      LKML-Reference: <19211.24287.453183.78836@cargo.ozlabs.ibm.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ee3d2504
  8. 11 11月, 2009 1 次提交
    • F
      perf tools: Bring linear set of section headers for features · 9e827dd0
      Frederic Weisbecker 提交于
      Build a set of section headers for features right after the
      datas. Each implemented feature will have one of such section
      header that provides the offset and the size of the data
      manipulated by the feature.
      
      The trace informations have moved after the data and are
      recorded on exit time.
      
      The new layout is as follows:
      
       -----------------------
                                   ___
       [ magic               ]      |
       [ header size         ]      |
       [ attr size           ]      |
       [ attr content offset ]      |
       [ attr content size   ]      |
       [ data offset         ]  File Headers
       [ data size           ]      |
       [ event_types offset  ]      |
       [ event_types size    ]      |
       [ feature bitmap      ]      v
      
       [ attr section        ]
       [ events section      ]
      
                                   ___
       [         X           ]      |
       [         X           ]      |
       [         X           ]    Datas
       [         X           ]      |
       [         X           ]      v
      
                                   ___
       [ Feature 1 offset    ]      |
       [ Feature 1 size      ] Features headers
       [ Feature 2 offset    ]      |
       [ Feature 2 size      ]      v
      
       [ Feature 1 content   ]
       [ Feature 2 content   ]
       -----------------------
      
      We have as many feature's section headers as we have features in
      use for the current file.
      
      Say Feat 1 and Feat 3 are used by the file, but not Feat 2. Then
      the feature headers will be like follows:
      
      [ Feature 1 offset    ]      |
      [ Feature 1 size      ] Features headers
      [ Feature 3 offset    ]      |
      [ Feature 3 size      ]      v
      
      There is no hole to cover Feature 2 that is not in use here. We
      only need to cover the needed headers in order, from the lowest
      feature bit to the highest.
      
      Currently we have two features: HEADER_TRACE_INFO and
      HEADER_BUILD_ID. Both have their contents that follow the
      feature headers. Putting the contents right after the feature
      headers is not mandatory though. While we keep the feature
      headers right after the data and in order, their offsets can
      point everywhere. We have just put the two above feature
      contents in the end of the file for convenience.
      
      The purpose of this layout change is to have a file format that
      scales while keeping it simple: having such linear feature
      headers is less error prone wrt forward/backward compatibility
      as the content of a feature can be put anywhere, its location
      can even change by the time, it's fine because its headers will
      tell where it is. And we know how to find these headers,
      following the above rules.
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      LKML-Reference: <1257911467-28276-6-git-send-email-fweisbec@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      9e827dd0
  9. 23 10月, 2009 2 次提交
    • A
      perf tools: Unify debug messages mechanisms · 6beba7ad
      Arnaldo Carvalho de Melo 提交于
      We were using eprintf in some places, that looks at a global
      'verbose' level, and at other places passing a 'v' parameter to
      specify the verbosity level, unify it by introducing
      pr_{err,warning,debug,etc}, just like in the kernel.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <1256153646-10097-1-git-send-email-acme@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6beba7ad
    • F
      perf tools: Drop asm/types.h wrapper · 802da5f2
      Frederic Weisbecker 提交于
      Wrapping the kernel headers is dangerous when it comes to arch
      headers. Once we wrap asm/types.h, it will also replace the
      glibc asm/types.h, not only the kernel one.
      
      This results in build errors on some machines.
      
      Drop this wrapper and do its work from linux/types.h wrapper,
      also the glibc asm/types.h can already handle most of the type
      definition it was doing (typedef __u64, __u32, etc...).
      
      Todo: Check the others asm/*.h wrappers to prevent from other
      conflicts.
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Anton Blanchard <anton@samba.org>
      LKML-Reference: <1256246604-17156-3-git-send-email-fweisbec@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      802da5f2
  10. 20 10月, 2009 1 次提交
  11. 19 10月, 2009 2 次提交
  12. 11 7月, 2009 1 次提交
    • A
      perf report: Adjust column width to the values sampled · 52d422de
      Arnaldo Carvalho de Melo 提交于
      Auto-adjust column width of perf report output to the
      longest occuring string length.
      
      Example:
      
      [acme@doppio pahole]$  perf report --sort comm,dso,symbol | head -13
      
          12.79%   pahole  /usr/lib64/libdw-0.141.so    [.] __libdw_find_attr
           8.90%   pahole  /lib64/libc-2.10.1.so        [.] _int_malloc
           8.68%   pahole  /usr/lib64/libdw-0.141.so    [.] __libdw_form_val_len
           8.15%   pahole  /lib64/libc-2.10.1.so        [.] __GI_strcmp
           6.80%   pahole  /lib64/libc-2.10.1.so        [.] __tsearch
           5.54%   pahole  ./build/libdwarves.so.1.0.0  [.] tag__recode_dwarf_type
      [acme@doppio pahole]$
      
      [acme@doppio pahole]$  perf report --sort comm,dso,symbol -d /lib64/libc-2.10.1.so | head -10
      
          21.92%   pahole  /lib64/libc-2.10.1.so  [.] _int_malloc
          20.08%   pahole  /lib64/libc-2.10.1.so  [.] __GI_strcmp
          16.75%   pahole  /lib64/libc-2.10.1.so  [.] __tsearch
      [acme@doppio pahole]$
      
      Also add these extra options to control the new behaviour:
      
        -w, --field-width
      
      Force each column width to the provided list, for large terminal
      readability.
      
        -t, --field-separator:
      
      Use a special separator character and don't pad with spaces, replacing
      all occurances of this separator in symbol names (and other output) with
      a '.' character, that thus it's the only non valid separator.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <20090711014728.GH3452@ghostprotocols.net>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      52d422de
  13. 02 7月, 2009 2 次提交