1. 23 2月, 2016 1 次提交
  2. 07 1月, 2016 1 次提交
  3. 12 12月, 2015 1 次提交
  4. 24 11月, 2015 1 次提交
  5. 23 10月, 2015 1 次提交
  6. 21 10月, 2015 1 次提交
  7. 01 10月, 2015 1 次提交
  8. 22 9月, 2015 1 次提交
  9. 03 9月, 2015 1 次提交
  10. 28 8月, 2015 1 次提交
  11. 21 8月, 2015 1 次提交
  12. 24 7月, 2015 1 次提交
  13. 09 7月, 2015 1 次提交
  14. 08 6月, 2015 2 次提交
    • H
      tools lib traceevent: Ignore libtrace-dynamic-list file · 38e09624
      He Kuang 提交于
      The libtrace-dynamic-list file is used to export symbols used by
      traceevent plugins.
      Signed-off-by: NHe Kuang <hekuang@huawei.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1432819735-35040-2-git-send-email-hekuang@huawei.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      38e09624
    • H
      tools lib traceevent: Export dynamic symbols used by traceevent plugins · e3d09ec8
      He Kuang 提交于
      Traceevent plugins need dynamic symbols exported from libtraceevent.a,
      otherwise a dlopen error will occur during plugins loading.
      
      This patch uses dynamic-list-file to export dynamic symbols which will
      be used in plugins to perf executable.
      
      The problem is covered up if feature-libpython is enabled, because
      PYTHON_EMBED_LDOPTS contains '-Xlinker --export-dynamic' which adds all
      symbols to the dynamic symbol table. So we should reproduce the problem
      by setting NO_LIBPYTHON=1.
      
      Before this patch:
      
        (Prepare plugins)
        $ ls /root/.traceevent/plugins/
        plugin_sched_switch.so
        plugin_function.so
        ...
      
        $ perf record -e 'ftrace:function' ls
      
        $ perf script
          Warning: could not load plugin '/mnt/data/root/.traceevent/plugins/plugin_sched_switch.so'
          /root/.traceevent/plugins/plugin_sched_switch.so: undefined symbol: pevent_unregister_event_handler
      
          Warning: could not load plugin '/root/.traceevent/plugins/plugin_function.so'
          /root/.traceevent/plugins/plugin_function.so: undefined symbol: warning
          ...
                 :1049  1049 [000]  9666.754487: ftrace:function:  ffffffff8118bc50 <-- ffffffff8118c5b3
                 :1049  1049 [000]  9666.754487: ftrace:function:  ffffffff818e2440 <-- ffffffff8118bc75
                 :1049  1049 [000]  9666.754487: ftrace:function:  ffffffff8106eee0 <-- ffffffff811212e2
      
      After this patch:
      
        $ perf record -e 'ftrace:function' ls
        $ perf script
                 :1049  1049 [000]  9666.754487: ftrace:function: __set_task_comm
                 :1049  1049 [000]  9666.754487: ftrace:function:    _raw_spin_lock
                 :1049  1049 [000]  9666.754487: ftrace:function: task_tgid_nr_ns
                 ...
      Signed-off-by: NHe Kuang <hekuang@huawei.com>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1432819735-35040-1-git-send-email-hekuang@huawei.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      e3d09ec8
  15. 18 5月, 2015 1 次提交
    • W
      tools lib traceevent: Install libtraceevent.a into libdir · bb53e176
      Wang Nan 提交于
      Before this patch, 'make install' installs libraries into bindir:
      
        $ make install DESTDIR=./tree
         INSTALL  trace_plugins
         INSTALL  libtraceevent.a
         INSTALL  libtraceevent.so
        $ find ./tree
         ./tree/
         ./tree/usr
         ./tree/usr/local
         ./tree/usr/local/bin
         ./tree/usr/local/bin/libtraceevent.a
         ./tree/usr/local/bin/libtraceevent.so
         ...
      
      /usr/local/lib( or lib64) should be a better place.
      
      This patch replaces 'bin' with libdir. For __LP64__ building, libraries
      are installed to /usr/local/lib64. For other building, to
      /usr/local/lib instead.
      
      After applying this patch:
      
        $ make install DESTDIR=./tree
         INSTALL  trace_plugins
         INSTALL  libtraceevent.a
         INSTALL  libtraceevent.so
        $ find ./tree
         ./tree
         ./tree/usr
         ./tree/usr/local
         ./tree/usr/local/lib64
         ./tree/usr/local/lib64/libtraceevent.a
         ./tree/usr/local/lib64/traceevent
         ./tree/usr/local/lib64/traceevent/plugins
         ./tree/usr/local/lib64/traceevent/plugins/plugin_mac80211.so
         ./tree/usr/local/lib64/traceevent/plugins/plugin_hrtimer.so
         ...
         ./tree/usr/local/lib64/libtraceevent.so
      Signed-off-by: NWang Nan <wangnan0@huawei.com>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Alexei Starovoitov <ast@plumgrid.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: pi3orama@163.com
      Cc: Zefan Li <lizefan@huawei.com>
      Link: http://lkml.kernel.org/r/1431860222-61636-4-git-send-email-wangnan0@huawei.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      bb53e176
  16. 14 5月, 2015 1 次提交
  17. 29 4月, 2015 1 次提交
  18. 24 4月, 2015 1 次提交
  19. 08 4月, 2015 1 次提交
    • N
      tools lib traceevent: Honor operator priority · 3201f0dc
      Namhyung Kim 提交于
      Currently it ignores operator priority and just sets processed args as a
      right operand.  But it could result in priority inversion in case that
      the right operand is also a operator arg and its priority is lower.
      
      For example, following print format is from new kmem events.
      
        "page=%p", REC->pfn != -1UL ? (((struct page *)(0xffffea0000000000UL)) + (REC->pfn)) : ((void *)0)
      
      But this was treated as below:
      
        REC->pfn != ((null - 1UL) ? ((struct page *)0xffffea0000000000UL + REC->pfn) : (void *) 0)
      
      In this case, the right arg was '?' operator which has lower priority.
      But it just sets the whole arg so making the output confusing - page was
      always 0 or 1 since that's the result of logical operation.
      
      With this patch, it can handle it properly like following:
      
        ((REC->pfn != (null - 1UL)) ? ((struct page *)0xffffea0000000000UL + REC->pfn) : (void *) 0)
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Joonsoo Kim <js1304@gmail.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: linux-mm@kvack.org
      Link: http://lkml.kernel.org/r/1428298576-9785-10-git-send-email-namhyung@kernel.org
      [ Replaced 'swap' with 'rotate' in a comment as requested by Steve and agreed by Namhyung ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3201f0dc
  20. 26 3月, 2015 1 次提交
  21. 25 3月, 2015 1 次提交
  22. 24 3月, 2015 10 次提交
  23. 22 3月, 2015 1 次提交
  24. 13 2月, 2015 1 次提交
  25. 06 2月, 2015 1 次提交
  26. 26 1月, 2015 1 次提交
  27. 25 11月, 2014 2 次提交
  28. 27 6月, 2014 1 次提交
  29. 20 6月, 2014 1 次提交