1. 14 8月, 2014 1 次提交
  2. 12 8月, 2014 13 次提交
  3. 25 7月, 2014 1 次提交
  4. 24 7月, 2014 3 次提交
  5. 17 7月, 2014 2 次提交
  6. 16 5月, 2014 1 次提交
  7. 15 3月, 2014 1 次提交
  8. 18 2月, 2014 1 次提交
  9. 10 2月, 2014 1 次提交
  10. 21 1月, 2014 1 次提交
  11. 13 1月, 2014 1 次提交
  12. 28 12月, 2013 1 次提交
  13. 24 12月, 2013 1 次提交
    • D
      perf kvm: Fix kvm report without guestmount. · ad85ace0
      Dongsheng Yang 提交于
      Currently, if we use perf kvm --guestkallsyms --guestmodules report, we
      can not get the perf information from perf data file. All sample are
      shown as unknown.
      
      Reproducing steps:
      	# perf kvm --guestkallsyms /tmp/kallsyms --guestmodules /tmp/modules record -a sleep 1
      	[ perf record: Woken up 1 times to write data ]
      	[ perf record: Captured and wrote 0.624 MB perf.data.guest (~27260 samples) ]
      	# perf kvm --guestkallsyms /tmp/kallsyms --guestmodules /tmp/modules report |grep %
      	   100.00%  [guest/6471]  [unknown]         [g] 0xffffffff8164f330
      
      This bug was introduced by 207b5792 (perf kvm: Fix regression with guest machine creation).
      In original code, it uses perf_session__find_machine(), it means we deliver symbol to machine
      which has the same pid, if no machine found, deliver it to *default* guest. But if we use
      perf_session__findnew_machine() here, if no machine was found, new machine with pid will be built
      and added. Then the default guest which with pid == 0 will never get a symbol.
      
      And because the new machine initialized here has no kernel map created, the symbol delivered to
      it will be marked as "unknown".
      
      This patch here is to revert commit 207b5792 and fix the SEGFAULT bug in another way.
      
      Verification steps:
      	# ./perf kvm --guestkallsyms /home/kallsyms --guestmodules /home/modules record -a sleep 1
      	[ perf record: Woken up 1 times to write data ]
      	[ perf record: Captured and wrote 0.651 MB perf.data.guest (~28437 samples) ]
      	# ./perf kvm --guestkallsyms /home/kallsyms --guestmodules /home/modules report |grep %
      	    22.64%    :6471  [guest.kernel.kallsyms]  [g] update_rq_clock.part.70
      	    19.99%    :6471  [guest.kernel.kallsyms]  [g] d_free
      	    18.46%    :6471  [guest.kernel.kallsyms]  [g] bio_phys_segments
      	    16.25%    :6471  [guest.kernel.kallsyms]  [g] dequeue_task
      	    12.78%    :6471  [guest.kernel.kallsyms]  [g] __switch_to
      	     7.91%    :6471  [guest.kernel.kallsyms]  [g] scheduler_tick
      	     1.75%    :6471  [guest.kernel.kallsyms]  [g] native_apic_mem_write
      	     0.21%    :6471  [guest.kernel.kallsyms]  [g] apic_timer_interrupt
      Signed-off-by: NDongsheng Yang <yangds.fnst@cn.fujitsu.com>
      Acked-by: NDavid Ahern <dsahern@gmail.com>
      Cc: stable@vger.kernel.org # 3.3+
      Cc: David Ahern <dsahern@gmail.com>
      Link: http://lkml.kernel.org/r/1387564907-3045-1-git-send-email-yangds.fnst@cn.fujitsu.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ad85ace0
  14. 20 12月, 2013 1 次提交
    • A
      perf symbols: Add 'machine' member to struct addr_location · cc22e575
      Arnaldo Carvalho de Melo 提交于
      The addr_location struct should fully qualify an address, and to do that
      it should have in it the machine where the thread was found.
      
      Thus all functions that receive an addr_location now don't need to also
      receive a 'machine', those functions just need to access al->machine
      instead, just like it does with the other parts of an address location:
      al->thread, al->map, etc.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-o51iiee7vyq4r3k362uvuylg@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      cc22e575
  15. 13 12月, 2013 1 次提交
  16. 10 12月, 2013 1 次提交
    • A
      perf script: Add an option to print the source line number · cc8fae1d
      Adrian Hunter 提交于
      Add field 'srcline' that displays the source file name and line number
      associated with the sample ip.  The information displayed is the same as
      from addr2line.
      
       $ perf script -f comm,tid,pid,time,ip,sym,dso,symoff,srcline
                  grep 10701/10701 2497321.421013:  ffffffff81043ffa native_write_msr_safe+0xa ([kernel.kallsyms])
        /usr/src/debug/kernel-3.9.fc17/linux-3.9.10-100.fc17.x86_64/arch/x86/include/asm/msr.h:95
                  grep 10701/10701 2497321.421984:  ffffffff8165b6b3 _raw_spin_lock+0x13 ([kernel.kallsyms])
        /usr/src/debug/kernel-3.9.fc17/linux-3.9.10-100.fc17.x86_64/arch/x86/include/asm/spinlock.h:54
                  grep 10701/10701 2497321.421990:  ffffffff810b64b3 tick_sched_timer+0x53 ([kernel.kallsyms])
        /usr/src/debug/kernel-3.9.fc17/linux-3.9.10-100.fc17.x86_64/kernel/time/tick-sched.c:840
                  grep 10701/10701 2497321.421992:  ffffffff8106f63f run_timer_softirq+0x2f ([kernel.kallsyms])
        /usr/src/debug/kernel-3.9.fc17/linux-3.9.10-100.fc17.x86_64/kernel/timer.c:1372
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1386315778-11633-3-git-send-email-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      cc8fae1d
  17. 09 12月, 2013 1 次提交
  18. 05 12月, 2013 1 次提交
  19. 02 12月, 2013 1 次提交
  20. 28 11月, 2013 1 次提交
    • D
      perf evsel: Skip ignored symbols while printing callchain · d2ff1b14
      David Ahern 提交于
      Allows a command to have a symbol_filter controlled by the user to skip
      certain functions in a backtrace. One example is to allow the user to
      reduce repeating patterns like:
      
          do_select  core_sys_select  sys_select
      
      to just sys_select when dumping callchains, consuming less real estate
      on the screen while still conveying the essential message - the process
      is in a select call.
      
      This option is leveraged by the upcoming timehist command.
      Signed-off-by: NDavid Ahern <dsahern@gmail.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1384806771-2945-2-git-send-email-dsahern@gmail.com
      [ Checked if al.sym is NULL before touching al.sym->ignored, as noted by Adrian Hunter ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      d2ff1b14
  21. 07 11月, 2013 1 次提交
  22. 06 11月, 2013 1 次提交
  23. 04 11月, 2013 1 次提交
  24. 24 10月, 2013 1 次提交
  25. 22 10月, 2013 1 次提交
    • W
      perf report: Add --max-stack option to limit callchain stack scan · 91e95617
      Waiman Long 提交于
      When callgraph data was included in the perf data file, it may take a
      long time to scan all those data and merge them together especially if
      the stored callchains are long and the perf data file itself is large,
      like a Gbyte or so.
      
      The callchain stack is currently limited to PERF_MAX_STACK_DEPTH (127).
      This is a large value. Usually the callgraph data that developers are
      most interested in are the first few levels, the rests are usually not
      looked at.
      
      This patch adds a new --max-stack option to perf-report to limit the
      depth of callchain stack data to look at to reduce the time it takes for
      perf-report to finish its processing. It trades the presence of trailing
      stack information with faster speed.
      
      The following table shows the elapsed time of doing perf-report on a
      perf.data file of size 985,531,828 bytes.
      
        --max_stack   Elapsed Time    Output data size
        -----------   ------------    ----------------
        not set        88.0s          124,422,651
        64             87.5s          116,303,213
        32             87.2s          112,023,804
        16             86.6s           94,326,380
        8              59.9s           33,697,248
        4              40.7s           10,116,637
        -g none        27.1s            2,555,810
      Signed-off-by: NWaiman Long <Waiman.Long@hp.com>
      Acked-by: NDavid Ahern <dsahern@gmail.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Aswin Chandramouleeswaran <aswin@hp.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Scott J Norton <scott.norton@hp.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1382107129-2010-4-git-send-email-Waiman.Long@hp.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      91e95617