1. 19 11月, 2010 12 次提交
  2. 27 10月, 2010 3 次提交
    • A
      perf python scripting: Add futex-contention script · 00204c33
      Arnaldo Carvalho de Melo 提交于
      The equivalent to this SystemTAP script:
      
      http://sourceware.org/systemtap/wiki/WSFutexContention
      
      [root@doppio ~]# perf trace futex-contention
      Press control+C to stop and show the summary
      ^Cnpviewer.bin[15242] lock 7f0a8be19104 contended 29 times, 72806 avg ns
      npviewer.bin[15242] lock 7f0a8be19130 contended 2 times, 1355 avg ns
      synergyc[17245] lock f127f4 contended 1 times, 1830569 avg ns
      firefox[15116] lock 7f2b7238af0c contended 168 times, 1230390 avg ns
      synergyc[17245] lock f2fc20 contended 1 times, 33149 avg ns
      npviewer.bin[15255] lock 7f0a8be19074 contended 155 times, 73047 avg ns
      npviewer.bin[15255] lock 7f0a8be190a0 contended 127 times, 7088 avg ns
      synergyc[17247] lock f12854 contended 1 times, 46741 avg ns
      synergyc[17245] lock f12610 contended 1 times, 7358 avg ns
      [root@doppio ~]#
      
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      00204c33
    • A
      perf python scripting: Fixup cut'n'paste error in sctop script · 22d0594b
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      22d0594b
    • A
      perf scripting: Shut up 'perf record' final status · b44308f5
      Arnaldo Carvalho de Melo 提交于
      We want just the script output, not internal details about the record phase.
      
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      b44308f5
  3. 26 10月, 2010 6 次提交
    • M
      perf record: Remove newline character from perror() argument · 0ab7368f
      Matt Fleming 提交于
      If we include a newline character in the string argument to perror()
      then the output will be split across two lines like so,
      
          Unable to read perf file descriptor
          : No space left on device
      
      Deleting the newline character prints a much more readable error,
      
          Unable to read perf file descriptor: No space left on device
      
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <89e77b54659bc3798b23a5596c2debb7f6f4cf27.1283010281.git.matt@console-pimps.org>
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@felicio.ghostprotocols.net>
      0ab7368f
    • A
      perf python scripting: Support fedora 11 (audit 1.7.17) · 7f6c1bd5
      Arnaldo Carvalho de Melo 提交于
      Where we don't have the audit.MACH_ARMEB constant.
      
      Cc: David S. Miller <davem@davemloft.net>
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      7f6c1bd5
    • A
      perf python scripting: Improve the syscalls-by-pid script · a64fa198
      Arnaldo Carvalho de Melo 提交于
      . Print message at script start telling how to get te summary
      . Print the syscall names
      . Accept both pid (if numeric) or COMM name
      
      Now it looks like this:
      
      [root@emilia tmp]# perf trace syscall-counts-by-pid
      Press control+C to stop and show the summary
      ^C
      syscall events by comm/pid:
      
      comm [pid]/syscalls                            count
      ----------------------------------------  ----------
      
      automount [1670]
        futex                                            2
      
      sshd [2322]
        rt_sigprocmask                                   4
        select                                           2
        write                                            1
        read                                             1
      
      perf [15178]
        read                                          2506
        open                                           794
        close                                          769
        write                                          240
        getdents                                       112
        lseek                                           16
        stat                                             9
        perf_counter_open                                5
        fcntl                                            5
        mmap                                             5
        statfs                                           2
      
      perf [15179]
        read                                         56701
        open                                           499
        stat                                           176
        fstat                                          149
        close                                          109
        mmap                                            98
        brk                                             75
        rt_sigaction                                    66
        munmap                                          42
        mprotect                                        24
        lstat                                            7
        lseek                                            5
        getdents                                         4
        ioctl                                            3
        readlink                                         2
        futex                                            1
        statfs                                           1
        getegid                                          1
        geteuid                                          1
        getgid                                           1
        getuid                                           1
        getrlimit                                        1
        fcntl                                            1
        uname                                            1
        write                                            1
      [root@emilia tmp]# fg
      -bash: fg: current: no such job
      [root@emilia tmp]# perf trace syscall-counts-by-pid 2322
      Press control+C to stop and show the summary
      ^C
      syscall events by comm/pid:
      
      comm [pid]/syscalls                            count
      ----------------------------------------  ----------
      
      sshd [2322]
        rt_sigprocmask                                   4
        select                                           2
        write                                            1
        read                                             1
      [root@emilia tmp]# perf trace syscall-counts-by-pid sshd
      Press control+C to stop and show the summary
      ^C
      syscall events for sshd:
      
      comm [pid]/syscalls                            count
      ----------------------------------------  ----------
      
      sshd [2322]
        rt_sigprocmask                                   4
        select                                           2
        write                                            1
        read                                             1
      [root@emilia tmp]#
      
      Cc: David S. Miller <davem@davemloft.net>
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      a64fa198
    • A
      perf python scripting: print the syscall name on sctop · 2e7d1e3f
      Arnaldo Carvalho de Melo 提交于
      [root@emilia tmp]# perf trace sctop 1
      syscall events:
      
      event                                          count
      ----------------------------------------  ----------
      read                                          215400
      futex                                           4029
      write                                            376
      brk                                               33
      rt_sigprocmask                                    24
      select                                            17
      lseek                                              2
      fsync                                              1
      ^C[root@emilia tmp]#
      
      Cc: David S. Miller <davem@davemloft.net>
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      2e7d1e3f
    • A
      perf python scripting: Improve the syscalls-counts script · 6545aaa5
      Arnaldo Carvalho de Melo 提交于
      . Print message at script start telling how to get te summary
      . Print the syscall name
      
      Now it looks like this:
      
      [root@emilia ~]# perf trace syscall-counts
      Press control+C to stop and show the summary
      ^C
      syscall events:
      
      event                                          count
      ----------------------------------------  -----------
      read                                          102752
      open                                            1293
      close                                            878
      write                                            319
      stat                                             185
      fstat                                            149
      getdents                                         116
      mmap                                              98
      brk                                               80
      rt_sigaction                                      66
      munmap                                            42
      mprotect                                          24
      lseek                                             21
      lstat                                              7
      rt_sigprocmask                                     4
      futex                                              3
      statfs                                             3
      ioctl                                              3
      readlink                                           2
      select                                             2
      getegid                                            1
      geteuid                                            1
      getgid                                             1
      getuid                                             1
      getrlimit                                          1
      fcntl                                              1
      uname                                              1
      [root@emilia ~]#
      
      Cc: David S. Miller <davem@davemloft.net>
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      6545aaa5
    • A
      perf python scripting: Improve the failed-syscalls-by-pid script · 6cc73614
      Arnaldo Carvalho de Melo 提交于
      . Print message at script start telling how to get te summary
      . Print the syscall name using the audit-lib-python package, if
        installed
      . Print the errno string
      . Accept both pid (if numeric) or COMM name
      
      Now it looks like this:
      
      [root@emilia ~]# perf trace failed-syscalls-by-pid
      Press control+C to stop and show the summary
      ^C
      syscall errors:
      
      comm [pid]                           count
      ------------------------------  ----------
      
      automount [1670]
        syscall: futex
          err = ETIMEDOUT                     39
      
      irqbalance [1462]
        syscall: openat
          err = ENOENT                         4
      
      perf [7888]
        syscall: lseek
          err = ESPIPE                         1
        syscall: open
          err = ENOENT                        24
      
      perf [7889]
        syscall: ioctl
          err = EINVAL                         1
        syscall: readlink
          err = EINVAL                         2
        syscall: open
          err = ENOENT                       389
        syscall: stat
          err = ENOENT                       141
        syscall: lseek
          err = ESPIPE                         3
      [root@emilia ~]#
      
      [root@emilia ~]# perf trace failed-syscalls-by-pid 1670
      Press control+C to stop and show the summary
      ^C
      syscall errors:
      
      comm [pid]                           count
      ------------------------------  ----------
      
      automount [1670]
        syscall: futex
          err = ETIMEDOUT                      2
      [root@emilia ~]#
      [root@emilia ~]#
      [root@emilia ~]#
      [root@emilia ~]# perf trace failed-syscalls-by-pid automount
      Press control+C to stop and show the summary
      ^C
      syscall errors for automount:
      
      comm [pid]                           count
      ------------------------------  ----------
      
      automount [1669]
        syscall: futex
          err = ETIMEDOUT                      1
      
      automount [1670]
        syscall: futex
          err = ETIMEDOUT                      5
      [root@emilia ~]#
      
      Cc: David S. Miller <davem@davemloft.net>
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      6cc73614
  4. 24 10月, 2010 4 次提交
  5. 23 10月, 2010 1 次提交
    • A
      perf tools: Remove direct slang.h include · 8bfb5e7d
      Arnaldo Carvalho de Melo 提交于
      We wrap it in libslang.h because we need to deal with older slang release
      where HAVE_LONG_LONG is referenced as:
      
      So we need to define it.
      
      Noticed when rebuilding the perf tools on a RHEL5 machine.
      
      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>
      Cc: Stephane Eranian <eranian@google.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8bfb5e7d
  6. 22 10月, 2010 7 次提交
    • M
      perf probe: Add basic module support · 469b9b88
      Masami Hiramatsu 提交于
      Add basic module probe support on perf probe. This introduces "--module
      <MODNAME>" option to perf probe for putting probes and showing lines and
      variables in the given module.
      
      Currently, this supports only probing on running modules.  Supporting off-line
      module probing is the next step.
      
      e.g.)
      [show lines]
       # ./perf probe --module drm -L drm_vblank_info
      <drm_vblank_info:0>
            0  int drm_vblank_info(struct seq_file *m, void *data)
            1  {
                      struct drm_info_node *node = (struct drm_info_node *) m->private
            3         struct drm_device *dev = node->minor->dev;
       ...
      [show vars]
       # ./perf probe --module drm -V drm_vblank_info:3
      Available variables at drm_vblank_info:3
              @<drm_vblank_info+20>
                      (unknown_type)  data
                      struct drm_info_node*   node
                      struct seq_file*        m
      [put a probe]
       # ./perf probe --module drm drm_vblank_info:3 node m
      Add new event:
        probe:drm_vblank_info (on drm_vblank_info:3 with node m)
      
      You can now use it on all perf tools, such as:
      
              perf record -e probe:drm_vblank_info -aR sleep 1
      [list probes]
       # ./perf probe -l
      probe:drm_vblank_info (on drm_vblank_info:3@drivers/gpu/drm/drm_info.c with ...
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20101021101341.3542.71638.stgit@ltc236.sdl.hitachi.co.jp>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      469b9b88
    • M
      perf probe: Show accessible global variables · fb8c5a56
      Masami Hiramatsu 提交于
      Add --externs for allowing --vars to show accessible global (externally
      defined) variables from a given probe point too.
      
      This will give you a hint which globals can be accessible from the probe point.
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20101021101335.3542.31003.stgit@ltc236.sdl.hitachi.co.jp>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      fb8c5a56
    • M
      perf probe: Function style fix · c82ec0a2
      Masami Hiramatsu 提交于
      Just change the order of function arguments for ease of read; moving optional
      bool flag to the last.
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20101021101329.3542.51200.stgit@ltc236.sdl.hitachi.co.jp>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      c82ec0a2
    • M
      perf probe: Show accessible local variables · cf6eb489
      Masami Hiramatsu 提交于
      Add -V (--vars) option for listing accessible local variables at given probe
      point. This will help finding which local variables are available for event
      arguments.
      
      e.g.)
       # perf probe -V call_timer_fn:23
       Available variables at call_timer_fn:23
               @<run_timer_softirq+345>
                       function_type*  fn
                       int     preempt_count
                       long unsigned int       data
                       struct list_head        work_list
                       struct list_head*       head
                       struct timer_list*      timer
                       struct tvec_base*       base
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20101021101323.3542.40282.stgit@ltc236.sdl.hitachi.co.jp>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      cf6eb489
    • M
      perf probe: Support global variables · 632941c4
      Masami Hiramatsu 提交于
      Allow users to set external defined global variables as event arguments (e.g.
      jiffies).
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      LKML-Reference: <20101021101316.3542.1999.stgit@ltc236.sdl.hitachi.co.jp>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      632941c4
    • M
      perf probe: Fix local variable searching loop · 378eeaad
      Masami Hiramatsu 提交于
      Fix to check the die's address and search into the die only if it has given
      address.
      
      This will avoid finding wrong variables in wrong basic block.
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      LKML-Reference: <20101021101309.3542.46434.stgit@ltc236.sdl.hitachi.co.jp>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      378eeaad
    • M
      perf probe: Fix type searching · 4046b8bb
      Masami Hiramatsu 提交于
      Fix to get the actual type die of variables by using dwarf_attr_integrate()
      which gets attribute from die even if the type die is connected by
      DW_AT_abstract_origin.
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      LKML-Reference: <20101021101302.3542.38549.stgit@ltc236.sdl.hitachi.co.jp>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      4046b8bb
  7. 12 10月, 2010 1 次提交
  8. 04 10月, 2010 3 次提交
  9. 13 9月, 2010 1 次提交
    • A
      perf ui browser: Don't use windows, slang is enough · 469917ce
      Arnaldo Carvalho de Melo 提交于
      They are useless and take away precious columns and lines, so stop using
      windows.
      
      One more step in removing newt code, that after all is not being useful
      at all for the coalescing TUI model in perf.
      Suggested-by: NChristoph Hellwig <hch@infradead.org>
      Cc: Christoph Hellwig <hch@infradead.org>
      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: <20100822082003.GB7365@infradead.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      469917ce
  10. 10 9月, 2010 1 次提交
  11. 08 9月, 2010 1 次提交