From: Eric B Munson <ebmunson@us.ibm.com>
To: a.p.zijlstra@chello.nl
Cc: paulus@samba.org, mingo@elte.hu, linux-kernel@vger.kernel.org,
Eric B Munson <ebmunson@us.ibm.com>
Subject: [PATCH 0/5] [RFC] Add multiple event support to perf report
Date: Tue, 2 Mar 2010 14:42:26 +0000 [thread overview]
Message-ID: <cover.1267537676.git.ebmunson@us.ibm.com> (raw)
Currently perf report is unable to handle multiple events even though
perf record is capable of capturing such a stream. For instance if we run
'perf record -e dtlb-misses -e cache-misses sleep 5'
today and then ask report to show the results we get:
# Samples: 18866
#
# Overhead Command Shared Object Symbol
# ........ ....... ................. ......
#
47.52% sleep [kernel.kallsyms] [k] page_fault
32.93% sleep [kernel.kallsyms] [k] locks_remove_posix
8.52% sleep [kernel.kallsyms] [k] acl_permission_check
3.46% sleep [kernel.kallsyms] [k] __wake_up_bit
3.31% sleep [kernel.kallsyms] [k] vfs_read
3.23% sleep [kernel.kallsyms] [k] kmem_cache_alloc
0.56% sleep [kernel.kallsyms] [k] get_page_from_freelist
0.15% sleep [kernel.kallsyms] [k] pipe_read
0.13% sleep [kernel.kallsyms] [k] pipe_lock_nested
0.13% sleep [kernel.kallsyms] [k] mm_alloc
0.06% sleep [kernel.kallsyms] [k] mm_init
#
# (For a higher level overview, try: perf report --sort comm,dso)
#
Worse than only reporting on one of the events, perf report has
summed the two events. i.e. There is no distinguishing between
dtlb-misses and cache-misses.
This set of patches addresses this problem and now when perf report
is run with the same event stream that produced the above report, the
output is this:
# Samples: 8620 cache-misses
#
# Overhead Command Shared Object Symbol
# ........ ....... ................. ......
#
72.06% sleep [kernel.kallsyms] [k] locks_remove_posix
18.64% sleep [kernel.kallsyms] [k] acl_permission_check
7.56% sleep [kernel.kallsyms] [k] __wake_up_bit
1.22% sleep [kernel.kallsyms] [k] get_page_from_freelist
0.34% sleep [kernel.kallsyms] [k] pipe_read
0.13% sleep [kernel.kallsyms] [k] mm_init
0.02% sleep [kernel.kallsyms] [k] pipe_lock_nested
0.01% sleep [kernel.kallsyms] [k] mm_alloc
0.01% sleep [kernel.kallsyms] [k] kmem_cache_alloc
# Samples: 10246 dTLB-load-misses
#
# Overhead Command Shared Object Symbol
# ........ ....... ................. ......
#
87.51% sleep [kernel.kallsyms] [k] page_fault
6.10% sleep [kernel.kallsyms] [k] vfs_read
5.94% sleep [kernel.kallsyms] [k] kmem_cache_alloc
0.22% sleep [kernel.kallsyms] [k] mm_alloc
0.22% sleep [kernel.kallsyms] [k] pipe_lock_nested
#
# (For a higher level overview, try: perf report --sort comm,dso)
#
Eric B Munson (5):
Add ID and STREAM_ID to recorded event data
Change add_hist_entry to take the tree root instead of session
Add storage for seperating event types in report
Change perf_session post processing functions to take hist tree
Add multiple event support to perf report
tools/perf/builtin-annotate.c | 6 +-
tools/perf/builtin-diff.c | 12 +++--
tools/perf/builtin-record.c | 3 +-
tools/perf/builtin-report.c | 104 ++++++++++++++++++++++++++++++++++++-----
tools/perf/util/event.h | 9 ++++
tools/perf/util/hist.c | 45 +++++++++---------
tools/perf/util/hist.h | 12 +++--
tools/perf/util/session.c | 1 +
tools/perf/util/session.h | 1 +
9 files changed, 145 insertions(+), 48 deletions(-)
next reply other threads:[~2010-03-02 14:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-02 14:42 Eric B Munson [this message]
2010-03-02 14:42 ` [PATCH 1/5] Add ID and STREAM_ID to recorded event data Eric B Munson
2010-03-02 14:58 ` Peter Zijlstra
2010-03-02 15:18 ` Eric B Munson
2010-03-03 12:09 ` Eric B Munson
2010-03-03 12:17 ` Peter Zijlstra
2010-03-02 14:42 ` [PATCH 2/5] Change add_hist_entry to take the tree root instead of session Eric B Munson
2010-03-02 14:42 ` [PATCH 3/5] Add storage for seperating event types in report Eric B Munson
2010-03-02 14:42 ` [PATCH 4/5] Change perf_session post processing functions to take histogram tree Eric B Munson
2010-03-02 14:42 ` [PATCH 5/5] Add multiple event support to perf report Eric B Munson
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=cover.1267537676.git.ebmunson@us.ibm.com \
--to=ebmunson@us.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox