1. 13 1月, 2014 2 次提交
  2. 20 12月, 2013 7 次提交
  3. 05 12月, 2013 13 次提交
    • J
      tools lib traceevent: Add cfg80211 plugin · 94371473
      Jiri Olsa 提交于
      Adding cfg80211 plugin.
      
      This plugin adds handler for __le16_to_cpup function
      t properly parse following tracepoint events:
        cfg80211:cfg80211_tx_mlme_mgmt
        cfg80211:cfg80211_rx_mlme_mgmt
        cfg80211:cfg80211_rx_unprot_mlme_mgmt
      
      The diff of 'perf script' output generated by old and new code:
      (data was generated by 'perf record -e 'cfg80211:*' -a')
      
        --- script.cfg80211.old
        +++ script.cfg80211.new
        -        ifconfig  2705 [003]   662.896560: cfg80211:cfg80211_tx_mlme_mgmt: [FAILED TO PARSE] name=wlan0 ifindex=3 frame=ARRAY[c0, 00, 00, 00, 00, 3a, 98, a0, 30, 51, 10, 0b, a9, c6, f4, 74, 00, 3a, 98, a0, 30, 51, 00, 00, 03, 00]
        +        ifconfig  2705 [003]   662.896560: cfg80211:cfg80211_tx_mlme_mgmt: netdev:wlan0(3), ftype:0xc0
        -   kworker/u16:0  1697 [002]   664.808210: cfg80211:cfg80211_rx_mlme_mgmt: [FAILED TO PARSE] name=wlan0 ifindex=3 frame=ARRAY[b0, 00, da, 00, 10, 0b, a9, c6, f4, 74, d8, 24, bd, a1, 26, 31, d8, 24, bd, a1, 26, 31, 10, b7, 00, 00, 02, 00, 00, 00]
        +   kworker/u16:0  1697 [002]   664.808210: cfg80211:cfg80211_rx_mlme_mgmt: netdev:wlan0(3), ftype:0xb0
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-22-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      94371473
    • J
      tools lib traceevent: Add scsi plugin · 04010929
      Jiri Olsa 提交于
      Adding scsi plugin.
      
      This plugin adds fields resolving functions for following tracepoint
      events:
      
        scsi:scsi_dispatch_cmd_start
        scsi:scsi_dispatch_cmd_error
        scsi:scsi_dispatch_cmd_done
        scsi:scsi_dispatch_cmd_timeout
      
      The diff of 'perf script' output generated by old and new code:
      (data was generated by 'perf record -e 'scsi:scsi_dispatch_cmd*' -a)
      
        -         swapper     0 [000]  6620.491019: scsi:scsi_dispatch_cmd_done: [FAILED TO PARSE] host_no=0 channel=0 id=0 lun=0 result=0 opcode=53 cmd_len=10 data_sglen=0 prot_sglen=0 prot_op=0 cmnd=5
        +         swapper     0 [000]  6620.491019: scsi:scsi_dispatch_cmd_done: host_no=0 channel=0 id=0 lun=0 data_sgl=0 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(SYNCHRONIZE_CACHE - raw=35 00 00 00 00 00 00 00 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)
        -     kworker/0:0 21554 [000]  6620.491126: scsi:scsi_dispatch_cmd_start: [FAILED TO PARSE] host_no=0 channel=0 id=0 lun=0 opcode=42 cmd_len=10 data_sglen=1 prot_sglen=0 prot_op=0 cmnd=*
        +     kworker/0:0 21554 [000]  6620.491126: scsi:scsi_dispatch_cmd_start: host_no=0 channel=0 id=0 lun=0 data_sgl=1 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=570899168 txlen=8 protect=0 raw=2a 00 22 07 3a e0 00 00 08 00)
        -     jbd2/dm-3-8   593 [002]  6621.607992: scsi:scsi_dispatch_cmd_error: [FAILED TO PARSE] host_no=0 channel=0 id=0 lun=0 rtn=4182 opcode=53 cmd_len=10 data_sglen=0 prot_sglen=0 prot_op=0 cmnd=5
        +     jbd2/dm-3-8   593 [002]  6621.607992: scsi:scsi_dispatch_cmd_error: host_no=0 channel=0 id=0 lun=0 data_sgl=0 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(SYNCHRONIZE_CACHE - raw=35 00 00 00 00 00 00 00 00 00) rtn=4182
      
      NOTE I couldn't generate scsi_dispatch_cmd_timeout tracepoint,
           but it's similar to the rest, so I believe it's ok.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-21-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      04010929
    • J
      tools lib traceevent: Add xen plugin · 40c03ad5
      Jiri Olsa 提交于
      Adding xen plugin.
      
      This plugin adds fields resolving for following tracepoint events:
      
        xen:xen_mc_entry
        xen:xen_mc_extend_args
      
      The diff of 'perf script' output generated by old and new code: (data
      was generated by 'perf record -e 'xen:*' ls')
      
        --- script.xen.old
        +++ script.xen.new
        -         swapper     0 [002]   136.267492: xen:xen_mc_entry: [FAILED TO PARSE] op=3 nargs=2 args=ARRAY[18, 00, 00, 00, 00, 00, 00, 00, 00, e0, d4, 4b, 04, 88, ff, ff, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
        +         swapper     0 [002]   136.267492: xen:xen_mc_entry: op 3(stack_switch) args [18, 0, 0, 0, 0, 0]
        -            perf  1970 [008]   136.273319: xen:xen_mc_extend_args: [FAILED TO PARSE] op=1 args=16 res=1
        +            perf  1970 [008]   136.273319: xen:xen_mc_extend_args: extending op 1(mmu_update) by 16 bytes res ???
      
      NOTE We still do not handle the 'sizeof' and fail to parse following xen
      tracepoints:
      
        xen:xen_mmu_set_pte
        xen:xen_mmu_set_pte_atomic
        xen:xen_mmu_set_domain_pte
        xen:xen_mmu_set_pte_at
        xen:xen_mmu_set_pmd
        xen:xen_mmu_set_pud
        xen:xen_mmu_set_pgd
        xen:xen_mmu_ptep_modify_prot_start
        xen:xen_mmu_ptep_modify_prot_commit
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-20-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      40c03ad5
    • J
      tools lib traceevent: Add function plugin · 07a180a0
      Jiri Olsa 提交于
      Backporting function plugin.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      This plugin adds function and parent function fields resolving for
      ftrace:function tracepoint event.
      
      The diff of 'perf script' output generated by old and new code:
      (data was generated by 'perf record -e ftrace:function ls')
      
        --- script.function.old
        +++ script.function.new
        -              ls 10781 [001] 32667.291379: ftrace:function:  ffffffff811adb80 <-- ffffffff811afc48
        -              ls 10781 [001] 32667.291379: ftrace:function:  ffffffff811b35d0 <-- ffffffff811adb9b
        -              ls 10781 [001] 32667.291380: ftrace:function:  ffffffff811b3520 <-- ffffffff811b35e8
        -              ls 10781 [001] 32667.291380: ftrace:function:  ffffffff811b2720 <-- ffffffff811b3549
        -              ls 10781 [001] 32667.291381: ftrace:function:  ffffffff81297e10 <-- ffffffff811b356c
        -              ls 10781 [001] 32667.291381: ftrace:function:  ffffffff81298f40 <-- ffffffff81297e2c
        -              ls 10781 [001] 32667.291382: ftrace:function:  ffffffff81076160 <-- ffffffff811afbf0
        -              ls 10781 [001] 32667.291383: ftrace:function:  ffffffff811c3eb0 <-- ffffffff811afbfc
        -              ls 10781 [001] 32667.291383: ftrace:function:  ffffffff8164e100 <-- ffffffff811c3ed8
        -              ls 10781 [001] 32667.291384: ftrace:function:  ffffffff811a5d10 <-- ffffffff811c3f53
        -              ls 10781 [001] 32667.291384: ftrace:function:  ffffffff811e8e70 <-- ffffffff811a5d58
        -              ls 10781 [001] 32667.291385: ftrace:function:  ffffffff811f38e0 <-- ffffffff811a5d63
        -              ls 10781 [001] 32667.291385: ftrace:function:  ffffffff811a9ff0 <-- ffffffff811a5d6b
        -              ls 10781 [001] 32667.291386: ftrace:function:  ffffffff811a9fa0 <-- ffffffff811aa015
        -              ls 10781 [001] 32667.291387: ftrace:function:  ffffffff810851c0 <-- ffffffff811aa053
        -              ls 10781 [001] 32667.291387: ftrace:function:  ffffffff81090e00 <-- ffffffff81085211
        +              ls 10781 [001] 32667.291379: ftrace:function: would_dump <-- setup_new_exec
        +              ls 10781 [001] 32667.291379: ftrace:function:    inode_permission <-- would_dump
        +              ls 10781 [001] 32667.291380: ftrace:function:       __inode_permission <-- inode_permission
        +              ls 10781 [001] 32667.291380: ftrace:function:          generic_permission <-- __inode_permission
        +              ls 10781 [001] 32667.291381: ftrace:function:          security_inode_permission <-- __inode_permission
        +              ls 10781 [001] 32667.291381: ftrace:function:             cap_inode_permission <-- security_inode_permission
        +              ls 10781 [001] 32667.291382: ftrace:function: flush_signal_handlers <-- setup_new_exec
        +              ls 10781 [001] 32667.291383: ftrace:function: do_close_on_exec <-- setup_new_exec
        +              ls 10781 [001] 32667.291383: ftrace:function:    _raw_spin_lock <-- do_close_on_exec
        +              ls 10781 [001] 32667.291384: ftrace:function:    filp_close <-- do_close_on_exec
        +              ls 10781 [001] 32667.291384: ftrace:function:       dnotify_flush <-- filp_close
        +              ls 10781 [001] 32667.291385: ftrace:function:       locks_remove_posix <-- filp_close
        +              ls 10781 [001] 32667.291385: ftrace:function:       fput <-- filp_close
        +              ls 10781 [001] 32667.291386: ftrace:function:          file_sb_list_del <-- fput
        +              ls 10781 [001] 32667.291387: ftrace:function:          task_work_add <-- fput
        +              ls 10781 [001] 32667.291387: ftrace:function:             kick_process <-- task_work_add
      
      Removing options support as it's not backported yet.
      Currently this plugin supports 2 options:
       'parent' to display parent function
       'indent' to show function call indents
      
      Enabling both of them by default.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-19-git-send-email-jolsa@redhat.comSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      07a180a0
    • J
      tools lib traceevent: Add sched_switch plugin · 83e815ee
      Jiri Olsa 提交于
      Backporting sched_switch plugin.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      This plugin adds fields resolving for sched:sched_switch tracepoint
      event.
      
      The diff of 'perf script' output generated by old and new code:
      (data was generated by 'perf record -e sched:sched_switch -a')
      
        --- script.sched_switch.old
        +++ script.sched_switch.new
        -            perf   577 [002] 30965.311852: sched:sched_switch: prev_comm=perf prev_pid=577 prev_prio=120 prev_state=S ==> next_comm=swapper/2 next_pid=0 next_prio=120
        +            perf   577 [002] 30965.311852: sched:sched_switch: perf:577 [120] S ==> swapper/2:0 [120]
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-18-git-send-email-jolsa@redhat.comSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      83e815ee
    • J
      tools lib traceevent: Add mac80211 plugin · de705e2e
      Jiri Olsa 提交于
      Backporting mac80211 plugin.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      This plugin adds changed field resolving for
      mac80211:drv_bss_info_changed tracepoint event.
      
      The diff of 'perf script' output generated by old and new code:
      (data was generated by 'perf record -e 'mac80211:drv_bss_info_changed' -a')
      
        --- script.mac80211.old
        +++ script.mac80211.new
        -        ifconfig  3711 [000]  1290.446492: mac80211:drv_bss_info_changed: phy0 vif:wlan0(2) changed:0x309f
        +        ifconfig  3711 [000]  1290.446492: mac80211:drv_bss_info_changed: phy0 vif:wlan0(2)
        +                                                                 assoc:0 aid:2 cts:0 shortpre:0 shortslot:0 dtimper:1
        +                                                                 bcnint:102 assoc_cap:0x431 basic_rates:0xf enable_beacon:0
        +                                                                 ht_operation_mode:0
      
      Omitting the mac80211:drv_config tracepoint handling because the kernel
      tracepoint changed its prototype and the plugin handler is no longer
      working.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-17-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      de705e2e
    • J
      tools lib traceevent: Add kvm plugin · 35d79f9f
      Jiri Olsa 提交于
      Backporting kvm plugin.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      This plugin adds field resolving functions for following
      tracepoint events:
        kvm:kvm_exit
        kvm:kvm_emulate_insn
        kvm:kvm_nested_vmexit
        kvm:kvm_nested_vmexit_inject
        kvmmmu:kvm_mmu_get_page
        kvmmmu:kvm_mmu_sync_page
        kvmmmu:kvm_mmu_unsync_page
        kvmmmu:kvm_mmu_zap_page
        kvmmmu:kvm_mmu_prepare_zap_page
      
      The diff of 'perf script' output generated by old and new code:
      (data was generated by 'perf record -e 'kvm:*,kvmmmu:*' -a')
      
        --- script.kvm.old
        +++ script.kvm.new
          qemu-system-x86 17414 [000]  6868.995053: kvm:kvm_exit: reason EPT_VIOLATION rip 0xfff0 info 184 0
          qemu-system-x86 17414 [000]  6868.995109: kvm:kvm_emulate_insn: f0000:c46b:e4 71 (real)
        - qemu-system-x86  3006 [002] 10562.079422: kvmmmu:kvm_mmu_get_page: [FAILED TO PARSE] mmu_valid_gen=0x2 gfn=0 role=122884 root_count=0 unsync=0 created=1
        + qemu-system-x86  3006 [002] 10562.079422: kvmmmu:kvm_mmu_get_page: new sp gfn 0 0/4 q0 direct --- !pge !nxe root 0 sync
        - qemu-system-x86  3006 [002] 10562.080502: kvmmmu:kvm_mmu_prepare_zap_page: [FAILED TO PARSE] mmu_valid_gen=0x2 gfn=0 role=122884 root_count=1 unsync=0
        + qemu-system-x86  3006 [002] 10562.080502: kvmmmu:kvm_mmu_prepare_zap_page: 0/4 q0 direct --- !pge !nxe root 1 sync
          qemu-system-x86  3290 [002] 10708.755312: kvmmmu:fast_page_fault: [FAILED TO PARSE] vcpu_id=0 gva=4094486080 error_code=3 sptep=0xffff88019f1e3670 old_spte=336391285 new_spte=336391287 retry=1
        -          insmod  2576 [001]   781.731666: kvmmmu:kvm_mmu_sync_page: [FAILED TO PARSE] mmu_valid_gen=0x1 gfn=2 role=24624 root_count=10 unsync=1
        +          insmod  2576 [001]   781.731666: kvmmmu:kvm_mmu_sync_page: 3/0 q0 --- !pge !nxe root 10 unsync
        -          insmod  2576 [001]   781.731668: kvmmmu:kvm_mmu_unsync_page: [FAILED TO PARSE] mmu_valid_gen=0x1 gfn=2 role=24624 root_count=10 unsync=1
        +          insmod  2576 [001]   781.731668: kvmmmu:kvm_mmu_unsync_page: 3/0 q0 --- !pge !nxe root 10 unsync
      
      Note:
       - kvm_mmu_zap_page is replaced by kvm_mmu_prepare_zap_page
         in current kernel, keeping it for backward compatibility
       - some of the tracepoints keep the same output even with
         the plugin handling: kvm:kvm_exit, kvm:kvm_emulate_insn
       - the 'kvmmmu:fast_page_fault' is still broken because of
         missing is_writable_pte function and is fixed in another patch
       - ommited following tracepoints from backport because
         the output was buggy
           kvm:kvm_nested_vmexit
           kvm:kvm_nested_vmexit_inject
      
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-16-git-send-email-jolsa@redhat.comSigned-off-by: NJiri Olsa <jolsa@redhat.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      35d79f9f
    • J
      tools lib traceevent: Add kmem plugin · f8256288
      Jiri Olsa 提交于
      Backporting kmem plugin.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      This plugin adds call_site field resolving for following tracepoint
      events:
      
        kmem:kfree
        kmem:kmalloc
        kmem:kmalloc_node
        kmem:kmem_cache_alloc
        kmem:kmem_cache_alloc_node
        kmem:kmem_cache_free
      
      The diff of 'perf script' output generated by old and new code: (data
      was generated by 'perf record -e 'kmem:*' -a')
      
        --- script.kmem.old
        +++ script.kmem.new
        -            perf 27846 [001] 29643.403319: kmem:kfree: call_site=ffffffff810e64f6 ptr=(nil)
        +            perf 27846 [001] 29643.403238: kmem:kfree: (__audit_syscall_exit+0x1f6) call_site=ffffffff810e64f6 ptr=(nil)
        -            perf 27846 [001] 29643.403337: kmem:kmem_cache_alloc: call_site=ffffffff812ff0c5 ptr=0xffff88020e155630 bytes_req=560 bytes_alloc=568 gfp_flags=GFP_KERNEL
        +            perf 27846 [001] 29643.403337: kmem:kmem_cache_alloc: (radix_tree_preload+0x35) call_site=ffffffff812ff0c5 ptr=0xffff88020e155630 bytes_req=560 bytes_alloc=568 gfp_flags=GFP_KERNEL
        -            perf 27846 [001] 29643.403342: kmem:kmem_cache_free: call_site=ffffffff8126ec61 ptr=0xffff88020dffe750
        +            perf 27846 [001] 29643.403342: kmem:kmem_cache_free: (jbd2_journal_stop+0x221) call_site=ffffffff8126ec61 ptr=0xffff88020dffe750
        -         firefox   954 [000] 29643.445477: kmem:kmem_cache_alloc_node: call_site=ffffffff8153c64e ptr=0xffff8801cecb4000 bytes_req=256 bytes_alloc=256 gfp_flags=GFP_KERNEL|GFP_REPEAT node=-1
        +         firefox   954 [000] 29643.445477: kmem:kmem_cache_alloc_node: (__alloc_skb+0x4e) call_site=ffffffff8153c64e ptr=0xffff8801cecb4000 bytes_req=256 bytes_alloc=256 gfp_flags=GFP_KERNEL|GFP_REPEAT node=-1
        -            perf 27846 [001] 29643.445510: kmem:kmalloc: call_site=ffffffff81250642 ptr=0xffff88020fd6c300 bytes_req=96 bytes_alloc=96 gfp_flags=GFP_NOFS|GFP_ZERO
        +            perf 27846 [001] 29643.445510: kmem:kmalloc: (ext4_ext_find_extent+0x362) call_site=ffffffff81250642 ptr=0xffff88020fd6c300 bytes_req=96 bytes_alloc=96 gfp_flags=GFP_NOFS|GFP_ZERO
        -               X   888 [002] 29643.445546: kmem:kmalloc_node: call_site=ffffffff8153c67e ptr=0xffff880103828e00 bytes_req=384 bytes_alloc=512 gfp_flags=GFP_KERNEL|GFP_NOWARN|GFP_REPEAT|GFP_NOMEMALLOC node=-1
        +               X   888 [002] 29643.445546: kmem:kmalloc_node: (__alloc_skb+0x7e) call_site=ffffffff8153c67e ptr=0xffff880103828e00 bytes_req=384 bytes_alloc=512 gfp_flags=GFP_KERNEL|GFP_NOWARN|GFP_REPEAT|GFP_NOMEMALLOC node=-1
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-15-git-send-email-jolsa@redhat.comSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f8256288
    • J
      tools lib traceevent: Add hrtimer plugin · d9d13f8b
      Jiri Olsa 提交于
      Backporting hrtimer plugin.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      This plugin adds function field resolving for following tracepoint
      events:
      
        timer:hrtimer_expire_entry
        timer:hrtimer_start
      
      The diff of 'perf script' output generated by old and new code: (data
      was generated by 'perf record -e 'timer:hrtimer*' -a')
      
        --- script.hrtimer.old
        +++ script.hrtimer.new
        -         swapper     0 [000] 27405.519092: timer:hrtimer_start: [FAILED TO PARSE] hrtimer=0xffff88021e20e800 function=0xffffffff810c0e10 expires=27398383000000 softexpires=27398383000000
        +         swapper     0 [000] 27405.519103: timer:hrtimer_start: hrtimer=0xffff88021e20e800 function=tick_sched_timer expires=27398383000000 softexpires=27398383000000
        -         swapper     0 [001] 27405.519544: timer:hrtimer_expire_entry: [FAILED TO PARSE] hrtimer=0xffff880211334058 now=27398294182491 function=0xffffffff81086f20
        +         swapper     0 [001] 27405.519544: timer:hrtimer_expire_entry: hrtimer=0xffff880211334058 now=27398294182491 function=posix_timer_fn/0x0
      
      Check the 'function' field is translated into the function name.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-14-git-send-email-jolsa@redhat.comSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      d9d13f8b
    • J
      tools lib traceevent: Add jbd2 plugin · e0549f11
      Jiri Olsa 提交于
      Backporting jbd2 plugin.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      This plugin adds field resolving functions for following tracepoint
      events:
      
        jbd2:jbd2_checkpoint_stats
        jbd2:jbd2_run_stats
      
      The diff of 'perf script' output generated by old and new code:
      (data was generated by 'perf record -e 'jbd2:jbd2_run_stats,jbd2:jbd2_checkpoint_stats' -a')
      
        --- script.jbd2.old
        +++ script.jbd2.new
        -     jbd2/dm-3-8   576 [000]  2983.748423: jbd2:jbd2_checkpoint_stats: [FAILED TO PARSE] dev=265289731 tid=0x3f2bbb chp_time=0x0 forced_to_close=0 written=0 dropped=2
        +     jbd2/dm-3-8   576 [000]  2983.748423: jbd2:jbd2_checkpoint_stats: dev 253,3 tid 4139963 chp_time 0 forced_to_close 0 written 0 dropped 2
        -     jbd2/dm-3-8   576 [000]  2983.852789: jbd2:jbd2_run_stats: [FAILED TO PARSE] dev=265289731 tid=0x3f2bc0 wait=0x0 request_delay=0x0 running=0x138d locked=0x0 flushing=0x0 logging=0x68 handle_count=2995 blocks=17 blocks_logged=18
        +     jbd2/dm-3-8   576 [000]  2983.852789: jbd2:jbd2_run_stats: dev 253,3 tid 4139968 wait 0 request_delay 0 running 5005 locked 0 flushing 0 logging 104 handle_count 2995 blocks 17 blocks_logged 18
      
      This plugin also adds jbd2_dev_to_name function, which was removed from
      jdb2 tracepoints recently. Keeping it in for backward compatibility
      reasons.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-13-git-send-email-jolsa@redhat.comSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      e0549f11
    • J
      tools lib traceevent: Harmonize the install messages in lib-traceevent · f33c5cd7
      Jiri Olsa 提交于
      Removing the 'to ...' part out of the install message, because it does
      not fit to the rest of the build messages we use.
      
      Before:
        INSTALL  plugin_hrtimer.so    to      /home/jolsa/libexec/perf-core/traceevent/plugins
        INSTALL  plugin_jbd2.so       to      /home/jolsa/libexec/perf-core/traceevent/plugins
        INSTALL  plugin_kmem.so       to      /home/jolsa/libexec/perf-core/traceevent/plugins
        INSTALL  plugin_kvm.so        to      /home/jolsa/libexec/perf-core/traceevent/plugins
        INSTALL  plugin_mac80211.so   to      /home/jolsa/libexec/perf-core/traceevent/plugins
        INSTALL  plugin_sched_switch.so       to      /home/jolsa/libexec/perf-core/traceevent/plugins
        INSTALL  plugin_function.so   to      /home/jolsa/libexec/perf-core/traceevent/plugins
        INSTALL  plugin_xen.so        to      /home/jolsa/libexec/perf-core/traceevent/plugins
        INSTALL  plugin_scsi.so       to      /home/jolsa/libexec/perf-core/traceevent/plugins
      
      Now:
        INSTALL  plugin_jbd2.so
        INSTALL  plugin_hrtimer.so
        INSTALL  plugin_kmem.so
        INSTALL  plugin_kvm.so
        INSTALL  plugin_mac80211.so
        INSTALL  plugin_sched_switch.so
        INSTALL  plugin_function.so
        INSTALL  plugin_xen.so
        INSTALL  plugin_scsi.so
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-7-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f33c5cd7
    • J
      tools lib traceevent: Add plugin build support · e0e96d03
      Jiri Olsa 提交于
      Backporting missing pieces of plugin building infrastructure:
      
        - Adding Makefile 'plugins' target to build all
          defined plugins
      
        - Adding Makefile 'install_plugins' target as 'install_lib'
          target dependency
      
        - Link plugin objects with shared object building
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      Plugins are by default installed into following locations:
      
        '$(HOME)/.traceevent/plugins'
           - If we are installing under $(HOME)
      
        '$(prefix)/lib/traceevent/plugins'
           - Otherwise
      
      This path is propagated to the plugin object as a plugins search path.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-4-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      e0e96d03
    • J
      tools lib traceevent: Add plugin support · c877bbd8
      Jiri Olsa 提交于
      Backporting plugin support for traceevent lib.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      It's now possible to use following interface to load plugins
      (shared objects) to enhance pevent object functionality.
      
      The plugin interface/hooks are as follows:
      (taken from event-parse.h comments)
      
      - 'pevent_plugin_loader' (required)
          The function name to initialized the plugin.
      
          int pevent_plugin_loader(struct pevent *pevent)
      
      - 'pevent_plugin_unloader' (optional)
          The function called just before unloading
      
          int pevent_plugin_unloader(void)
      
      - 'pevent_plugin_options'  (optional)
          Plugin options that can be set before loading
      
          struct plugin_option pevent_plugin_options[] = {
             {
                     .name = "option-name",
                     .plugin_alias = "overide-file-name", (optional)
                     .description = "description of option to show users",
             },
             {
                     .name = NULL,
             },
          };
      
          Array must end with .name = NULL;
      
          The plugin_alias (below) can be used to give a shorter
          name to access the variable. Useful if a plugin handles
          more than one event.
      
          NOTE options support is not backported yet.
      
      - 'pevent_plugin_alias' (optional)
          The name to use for finding options (uses filename if not defined)
      
      New traceevent functions are added to search and load
      available plugins:
      
        struct plugin_list*
        traceevent_load_plugins(struct pevent *pevent)
          - loads plusing for 'struct pevent' object and returns
            loaded plugins list
      
        void traceevent_unload_plugins(struct plugin_list *plugin_list);
          - unload plugin list
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-3-git-send-email-jolsa@redhat.comSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      c877bbd8
  4. 11 10月, 2013 1 次提交
    • I
      tools: Harmonize the various build messages in perf, lib-traceevent, lib-lk · 65fb0992
      Ingo Molnar 提交于
      The various build lines from libtraceevent and perf mix up during a
      parallel build and produce unaligned output like:
      
          CC builtin-buildid-list.o
          CC builtin-buildid-cache.o
          CC builtin-list.o
        CC FPIC            trace-seq.o
          CC builtin-record.o
        CC FPIC            parse-filter.o
          CC builtin-report.o
          CC builtin-stat.o
        CC FPIC            parse-utils.o
        CC FPIC            kbuffer-parse.o
          CC builtin-timechart.o
          CC builtin-top.o
          CC builtin-script.o
        BUILD STATIC LIB   libtraceevent.a
          CC builtin-probe.o
          CC builtin-kmem.o
          CC builtin-lock.o
      
      To solve this, harmonize all the build message alignments to be similar
      to the kernel's kbuild output: prefixed by two spaces and 11-char wide.
      
      After the patch the output looks pretty tidy, even if output lines get
      mixed up:
      
        CC      builtin-annotate.o
        FLAGS:  * new build flags or cross compiler
        CC      builtin-bench.o
        AR      liblk.a
        CC      bench/sched-messaging.o
        CC FPIC event-parse.o
        CC      bench/sched-pipe.o
        CC FPIC trace-seq.o
        CC      bench/mem-memcpy.o
        CC      bench/mem-memset.o
        CC FPIC parse-filter.o
        CC      builtin-diff.o
        CC      builtin-evlist.o
        CC      builtin-help.o
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1381312169-17354-3-git-send-email-mingo@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      65fb0992
  5. 27 8月, 2013 1 次提交
  6. 13 7月, 2013 3 次提交
  7. 14 3月, 2013 1 次提交
  8. 26 10月, 2012 1 次提交
    • N
      tools lib traceevent: Do not generate dependency for system header files · b6f4f804
      Namhyung Kim 提交于
      Ingo reported (again!) that 'make clean' on perf/traceevent does not
      work due to some reason with system header file. Quotes Ingo:
      
       "Note that the old dependency related build failure thought to be
        fixed in commit 860df583 is back:
      
         make[1]: *** No rule to make target
         `/usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/stddef.h', needed by `.trace-seq.d'.  Stop.
      
        'make clean' itself does not work in libtraceevent:
      
         comet:~/tip/tools/lib/traceevent> make clean
         make: *** No rule to make target `/usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/stddef.h', needed by `.trace-seq.d'.  Stop.
      
        So I had to clean it out manually:
      
         comet:~/tip/tools/lib/traceevent> git ls-files --others | xargs rm
         comet:~/tip/tools/lib/traceevent>
      
        and then things build fine."
      
      Try to fix it by excluding system headers from dependency generation.
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Reported-by: NIngo Molnar <mingo@kernel.org>
      Cc: Borislav Petkov <bp@amd64.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1351241752-2919-1-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      b6f4f804
  9. 15 9月, 2012 1 次提交
  10. 25 7月, 2012 1 次提交
  11. 30 6月, 2012 3 次提交
  12. 25 4月, 2012 1 次提交
    • S
      tools/events: Add files to create libtraceevent.a · f7d82350
      Steven Rostedt 提交于
      Copy over the files from trace-cmd to the Linux tools directory
      such that applications like perf and latencytrace can use the
      more advanced parsing code.
      
      Because some of the file names of perf conflict with trace-cmd file
      names, the trace-cmd files have been renamed as follows:
      
       parse-events.c ==> event-parse.c
       parse-events.h ==> event-parse.h
       utils.h        ==> event-utils.h
      
      The files have been updated to handle the changes to the header files
      but other than that, they are identical to what was in the trace-cmd
      repository. The history of these files, including authorship is
      available at the git repo:
      
       git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      The Makefile was also copied over, but most of it was removed to
      focus on the parse-events code first. The parts of the Makefile for
      the plugins have also been removed, but will be added back when the
      plugin code is copied over as well. But that may be in its own
      separate directory.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Arun Sharma <asharma@fb.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      f7d82350