1. 10 11月, 2010 2 次提交
  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 3 次提交
    • M
      perf probe: Fix handling of arguments names · 367e94c1
      Masami Hiramatsu 提交于
      Don't make argument names from raw parameters (means the parameters are written
      in kprobe-tracer syntax), because the argument syntax may include special
      characters.  Just leave it, then kprobe-tracer gives a new name.
      Reported-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20100827113859.22882.75598.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>
      367e94c1
    • M
      perf probe: Fix return probe support · 04ddd04b
      Masami Hiramatsu 提交于
      Fix a bug to support %return probe syntax again. Previous commit 4235b045 has a
      bug which disables the %return syntax on perf probe.
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20100827113852.22882.87447.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>
      04ddd04b
    • K
      perf: Add a script to show packets processing · 359d5106
      Koki Sanagi 提交于
      Add a perf script which shows packets processing and processed
      time. It helps us to investigate networking or network devices.
      
      If you want to use it, install perf and record perf.data like
      following.
      
      If you set script, perf gathers records until it ends.
      If not, you must Ctrl-C to stop recording.
      
      And if you want a report from record,
      
      If you use some options, you can limit the output.
      Option is below.
      
      tx: show only tx packets processing
      rx: show only rx packets processing
      dev=: show processing on this device
      debug: work with debug mode. It shows buffer status.
      
      For example, if you want to show received packets processing
      associated with eth4,
      
      106133.171439sec cpu=0
        irq_entry(+0.000msec irq=24:eth4)
               |
        softirq_entry(+0.006msec)
               |
               |---netif_receive_skb(+0.010msec skb=f2d15900 len=100)
               |            |
               |      skb_copy_datagram_iovec(+0.039msec 10291::10291)
               |
        napi_poll_exit(+0.022msec eth4)
      
      This perf script helps us to analyze the processing time of a
      transmit/receive sequence.
      Signed-off-by: NKoki Sanagi <sanagi.koki@jp.fujitsu.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Kaneshige Kenji <kaneshige.kenji@jp.fujitsu.com>
      Cc: Izumo Taku <izumi.taku@jp.fujitsu.com>
      Cc: Kosaki Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
      Cc: Scott Mcmillan <scott.a.mcmillan@intel.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <4C72439D.3040001@jp.fujitsu.com>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      359d5106
  12. 27 8月, 2010 1 次提交
    • F
      perf: Initialize callchains roots's childen hits · 5225c458
      Frederic Weisbecker 提交于
      Each histogram entry has a callchain root that stores the
      callchain samples. However we forgot to initialize the
      tracking of children hits of these roots, which then got
      random values on their creation.
      
      The root children hits is multiplied by the minimum percentage
      of hits provided by the user, and the result becomes the minimum
      hits expected from children branches. If the random value due
      to the uninitialization is big enough, then this minimum number
      of hits can be huge and eventually filter every children branches.
      
      The end result was invisible callchains. All we need to
      fix this is to initialize the children hits of the root.
      Reported-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: 2.6.32.x-2.6.35.y <stable@kernel.org>
      5225c458
  13. 26 8月, 2010 6 次提交
  14. 23 8月, 2010 1 次提交
    • F
      perf: Support for callchains merge · 612d4fd7
      Frederic Weisbecker 提交于
      If we sort the histograms by comm, which is the default,
      we need to merge some of them, typically different thread
      histograms of a same process, or just same comm. But during
      this merge, we forgot to merge callchains.
      
      So imagine we have three threads (tids: 1000, 1001, 1002) that
      belong to comm "foo".
      
      tid 1000 got 100 events
      tid 1001 got 10 events
      tid 1002 got 3 events
      
      Once we merge these histograms to get a per comm result, we'll
      finally get:
      
      "foo" got 113 events
      
      The problem is if we merge 1000 and 1001 histograms into 1002, then
      the end merge result, wrt callchains, will be only callchains that
      belong to 1002.
      This is because we haven't handled callchains in the merge. Only those
      from one of the threads inside a common comm survive.
      
      It means during this merge, we can lose a lot of callchains.
      
      Fix this by implementing callchains merge and apply it on histograms
      that collapse.
      Reported-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      612d4fd7