From: Eric B Munson <ebmunson@us.ibm.com>
To: a.p.zijlstra@chello.nl
Cc: paulus@samba.org, mingo@elte.hu, acme@redhat.com,
linux-kernel@vger.kernel.org, Eric B Munson <ebmunson@us.ibm.com>
Subject: [PATCH 0/5] Add multiple event support to perf report V2
Date: Wed, 3 Mar 2010 15:38:22 +0000 [thread overview]
Message-ID: <cover.1267630395.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)
#
Changlog:
>From V1:
-Removed STREAM_ID from recorded attributes
-Only record SAMPLE_ID if more than one event is requested
Eric B Munson (5):
Add ID and to recorded event data when recording multiple events
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 histogram 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 | 111 ++++++++++++++++++++++++++++++++++++-----
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, 153 insertions(+), 47 deletions(-)
next reply other threads:[~2010-03-03 15:38 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-03 15:38 Eric B Munson [this message]
2010-03-03 15:38 ` [PATCH 1/5] Add ID and to recorded event data when recording multiple events Eric B Munson
2010-03-03 15:38 ` [PATCH 2/5] Change add_hist_entry to take the tree root instead of session Eric B Munson
2010-03-03 15:38 ` [PATCH 3/5] Add storage for seperating event types in report Eric B Munson
2010-03-03 15:38 ` [PATCH 4/5] Change perf_session post processing functions to take histogram tree Eric B Munson
2010-03-05 15:09 ` Arnaldo Carvalho de Melo
2010-03-03 15:38 ` [PATCH 5/5] Add multiple event support to perf report Eric B Munson
2010-03-05 15:51 ` [PATCH 0/5] Add multiple event support to perf report V2 Arnaldo Carvalho de Melo
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.1267630395.git.ebmunson@us.ibm.com \
--to=ebmunson@us.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--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.