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 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.