All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: David Ahern <dsahern@gmail.com>
Cc: acme@ghostprotocols.net, linux-kernel@vger.kernel.org,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>
Subject: Re: [PATCH] perf top: Make -g refer to callchains
Date: Fri, 15 Nov 2013 06:46:09 +0100	[thread overview]
Message-ID: <20131115054609.GB4514@gmail.com> (raw)
In-Reply-To: <1384487490-6865-1-git-send-email-dsahern@gmail.com>


btw., here's some 'perf top' call graph performance and profiling 
quality feedback, with the latest perf code:

'perf top --call-graph fp' now works very well, using just 0.2% 
of CPU time on a fast system:

 4676 mingo     20   0  612m  56m 9948 S     1  0.2   0:00.68 perf                                                                                                        

'perf top --call-graph dwarf' on the other hand is horrendously 
slow, using 20% of CPU time on a 4 GHz CPU:

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                                     
 4646 mingo     20   0  658m  81m  12m R    19  0.3   0:18.17 perf    

On another system with a 2.4GHz CPU it's taking up 100% of CPU 
time (!):

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                               
 8018 mingo     20   0  290320  45220   8520 R  99.5  0.3   0:58.81 perf      

Profiling 'perf top' shows all sorts of very high dwarf 
processing overhead:

#
# Overhead  Command              Shared Object                                             Symbol
# ........  .......  .........................  .................................................
#
     7.08%     perf  perf                       [.] access_mem
     7.03%     perf  perf                       [.] dso__data_read_offset
     5.83%     perf  perf                       [.] maps__find
     5.64%     perf  libunwind-x86_64.so.8.0.1  [.] 0x000000000000ba25
     4.75%     perf  perf                       [.] thread__find_addr_map
     3.81%     perf  [kernel.kallsyms]          [k] unmap_single_vma
     2.57%     perf  perf                       [.] map__map_ip
     2.48%     perf  libelf-0.156.so            [.] 0x0000000000003a84
     2.12%     perf  [kernel.kallsyms]          [k] memset
     2.12%     perf  perf                       [.] dso__data_read_addr
     2.10%     perf  libc-2.17.so               [.] __memcpy_sse2
     1.72%     perf  libc-2.17.so               [.] __memset_sse2
     1.58%     perf  [kernel.kallsyms]          [k] page_fault
     1.56%     perf  libc-2.17.so               [.] __memset_x86_64
     1.44%     perf  perf                       [.] find_proc_info
     1.25%     perf  libelf-0.156.so            [.] elf_end
     1.19%     perf  [kernel.kallsyms]          [k] flush_tlb_mm_range
     1.06%     perf  libc-2.17.so               [.] vfprintf
     1.04%     perf  libunwind-x86_64.so.8.0.1  [.] _Ux86_64_dwarf_search_unwind_table
     1.00%     perf  [kernel.kallsyms]          [k] __audit_syscall_exit
     0.94%     perf  libc-2.17.so               [.] _int_free
     0.92%     perf  libc-2.17.so               [.] _int_malloc
     0.84%     perf  libc-2.17.so               [.] __memcmp_sse2
     0.81%     perf  [kernel.kallsyms]          [k] unmapped_area_topdown
     0.71%     perf  [kernel.kallsyms]          [k] system_call
     0.71%     perf  [kernel.kallsyms]          [k] system_call_after_swapgs
     0.65%     perf  [kernel.kallsyms]          [k] sysret_check
     0.63%     perf  perf                       [.] dso__find_symbol
     0.58%     perf  [kernel.kallsyms]          [k] clear_page_c
     0.58%     perf  [kernel.kallsyms]          [k] handle_mm_fault
     0.56%     perf  libc-2.17.so               [.] __sigprocmask
     0.55%     perf  [kernel.kallsyms]          [k] copy_user_generic_string
     0.51%     perf  [kernel.kallsyms]          [k] __do_fault
     0.49%     perf  [kernel.kallsyms]          [k] find_vma
     0.47%     perf  libpthread-2.17.so         [.] __libc_close
     0.44%     perf  [kernel.kallsyms]          [k] __audit_syscall_entry
     0.44%     perf  [kernel.kallsyms]          [k] mmap_region
     0.42%     perf  [kernel.kallsyms]          [k] _raw_spin_lock
     0.41%     perf  [kernel.kallsyms]          [k] kmem_cache_free
     0.40%     perf  [kernel.kallsyms]          [k] kmem_cache_alloc
     0.40%     perf  libpthread-2.17.so         [.] pthread_mutex_unlock
     0.37%     perf  [kernel.kallsyms]          [k] perf_event_aux_ctx
     0.37%     perf  [kernel.kallsyms]          [k] do_munmap
     0.37%     perf  libc-2.17.so               [.] free
     [...]

Thanks,

	Ingo

  parent reply	other threads:[~2013-11-15  5:46 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-15  3:51 [PATCH] perf top: Make -g refer to callchains David Ahern
2013-11-15  5:28 ` Ingo Molnar
2013-11-15  5:46 ` Ingo Molnar [this message]
2013-11-18 12:59   ` Arnaldo Carvalho de Melo
2013-11-18 13:25     ` Jiri Olsa
2013-11-18 14:26       ` Ingo Molnar
2013-11-18 17:49         ` Jiri Olsa
2013-11-18 19:17           ` Ingo Molnar
2013-11-18 20:16           ` Jan Kratochvil
2013-11-19  9:26             ` Jean Pihet
2013-11-19  9:33               ` Jan Kratochvil
2013-11-19  9:24     ` Jean Pihet
2013-11-30 12:49 ` [tip:perf/core] " tip-bot for David Ahern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131115054609.GB4514@gmail.com \
    --to=mingo@kernel.org \
    --cc=acme@ghostprotocols.net \
    --cc=dsahern@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.