1. 05 Feb, 2011 2 commits
    • Arnaldo Carvalho de Melo's avatar
      perf annotate: Move annotate functions to util/ · 78f7defe
      Arnaldo Carvalho de Melo authored
      They will be used by perf top, so that we have just one set of routines
      to do annotation.
      
      Rename "struct sym_priv" to "struct annotation", etc, to clarify this
      code a bit.
      
      Rename "struct sym_ext" to "struct source_line", to give it a meaningful
      name, that clarifies that it is a the result of an addr2line call, that
      is sorted by percentage one particular source code line appeared in the
      annotation.
      
      And since we're moving things around also rename 'sym_hist->ip' to
      'sym_hist->addr' as we want to do data structure annotation at some
      point.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      78f7defe
    • Arnaldo Carvalho de Melo's avatar
      perf top: Remove superfluous name_len field · 764328d3
      Arnaldo Carvalho de Melo authored
      From the sym_entry struct, struct symbol already has this field.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      764328d3
  2. 03 Feb, 2011 1 commit
    • Peter Zijlstra's avatar
      perf: Cure task_oncpu_function_call() races · fe4b04fa
      Peter Zijlstra authored
      Oleg reported that on architectures with
      __ARCH_WANT_INTERRUPTS_ON_CTXSW the IPI from
      task_oncpu_function_call() can land before perf_event_task_sched_in()
      and cause interesting situations for eg. perf_install_in_context().
      
      This patch reworks the task_oncpu_function_call() interface to give a
      more usable primitive as well as rework all its users to hopefully be
      more obvious as well as remove the races.
      
      While looking at the code I also found a number of races against
      perf_event_task_sched_out() which can flip contexts between tasks so
      plug those too.
      Reported-and-reviewed-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      fe4b04fa
  3. 02 Feb, 2011 2 commits
  4. 01 Feb, 2011 6 commits
    • Yinghai Lu's avatar
      perf top: Fix TUI compilation · cdb0861c
      Yinghai Lu authored
      > +	slsmg_write_nstring(width >= syme->map->dso->long_name_len ?
      > +				syme->map->dso->long_name :
      > +				syme->map->dso->short_name, width);
      
      need update macro for that calling
      
      util/ui/browsers/top.c: In function ‘perf_top_browser__write’:
      util/ui/browsers/top.c:60:2: error: cast to pointer from integer of different size
      util/ui/browsers/top.c:60:2: error: comparison between pointer and integer
      util/ui/browsers/top.c:60:2: error: passing argument 1 of ‘SLsmg_write_nstring’ discards qualifiers from pointer target type
      /usr/include/slang.h:1728:16: note: expected ‘char *’ but argument is of type ‘const char *’
      make: *** [util/ui/browsers/top.o] Error 1
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <4D48562B.20006@kernel.org>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      cdb0861c
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Don't try to build python bindings if Python.h not available · 978f626c
      Arnaldo Carvalho de Melo authored
      Just leverage the test done for python support in 'python script',
      emitting a warning about losing those features if python-dev[el] is not
      installed.
      Reported-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      978f626c
    • Arnaldo Carvalho de Melo's avatar
      perf stat: Fix up resource release order · 0015e2e1
      Arnaldo Carvalho de Melo authored
      That was causing a SEGV on selected old distros.
      
      Problem introduced in 7e2ed097.
      Reported-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0015e2e1
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Fix up 'make clean' target · 568bb7b8
      Arnaldo Carvalho de Melo authored
      It wasn't using $(OUTPUT) to rm *.o and there were some funny looking
      automake files that never get created but were being deleted anyway.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      568bb7b8
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Remove verbose build messages for the python binding · 067187fc
      Arnaldo Carvalho de Melo authored
      Also now it builds it in a well known location:
      
      [acme@felicio linux]$ rm -rf ../build/perf/
      [acme@felicio linux]$ mkdir ../build/perf
      [acme@felicio linux]$ make -j2 O=~acme/git/build/perf -C tools/perf/
      <SNIP>
      [acme@felicio linux]$ ls -la ../build/perf/python/
      total 152
      -rwxrwxr-x 1 acme acme 147957 Feb  1 14:56 perf.so
      drwxrwxr-x 3 acme acme     17 Feb  1 14:56 temp
      [acme@felicio linux]$
      
      [root@felicio ~]# strip ~acme/git/build/perf/python/perf.so
      [root@felicio ~]# ls -la ~acme/git/build/perf/python/perf.so
      -rwxrwxr-x 1 acme acme 46264 Feb  1 14:58 /home/acme/git/build/perf/python/perf.so
      
      [root@felicio ~]# export PYTHONPATH=~acme/git/build/perf/python/
      [root@felicio ~]# ~acme/git/linux/tools/perf/python/twatch.py
      cpu:  0, pid: 7751, tid: 7751 { type: exit, pid: 7751, ppid: 7751, tid: 7751, ptid: 7751, time: 54562393512356}
      cpu:  0, pid: 13700, tid: 13700 { type: fork, pid: 7756, ppid: 13700, tid: 7756, ptid: 13700, time: 54562393746739}
      cpu:  1, pid: 7756, tid: 7756 { type: fork, pid: 7757, ppid: 7756, tid: 7757, ptid: 7756, time: 54562394246152}
      cpu:  1, pid: 7757, tid: 7757 { type: comm, pid: 7757, tid: 7757, comm: awk }
      cpu:  1, pid: 7757, tid: 7757 { type: exit, pid: 7757, ppid: 7757, tid: 7757, ptid: 7757, time: 54562395456813}
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      067187fc
    • Linus Torvalds's avatar
      Linux 2.6.38-rc3 · ebf53826
      Linus Torvalds authored
      ebf53826
  5. 31 Jan, 2011 29 commits