From: Don Zickus <dzickus@redhat.com>
To: acme@kernel.org, namhyung@kernel.org, jolsa@redhat.com
Cc: eranian@google.com, Andi Kleen <andi@firstfloor.org>,
LKML <linux-kernel@vger.kernel.org>,
Don Zickus <dzickus@redhat.com>
Subject: [RFC 0/5] perf: Create hist_entry groups
Date: Thu, 10 Apr 2014 16:10:56 -0400 [thread overview]
Message-ID: <1397160661-33395-1-git-send-email-dzickus@redhat.com> (raw)
This patchset creates a new layer of hist entry objects called
hist_entry_groups. The purpose is to help organize the hist_entries
into groups before sorting them. As a result you can gain a
new perspective on the data by organizing the groups into cpu, pid
or cacheline. See patch 5 for sample output.
The main driver for this patchset is to find a way to sort and display
cacheline data in a way that is useful. My previous attempts seemed
hackish until I realized cacheline sorting is really just a collection
of hist_entries. Anyway that was my focus for doing this.
The overall idea looks like:
evlist
evsel
hists
hist_entry_group <<< new object
hist_entry
Implementing this was not pretty. I tried to seperate the patches the
best I could. But in order for each patch to compile, patch 4 turned into
a 1400 line diff that is mostly noise.
Also, this patchset breaks most tools (mainly because I don't understand
all the interactions), hence the RFC. I mostly tested with 'perf report
--stdio' and 'perf mem report --stdio'.
Please let me know if this is an interesting idea to go forward with or not.
Don Zickus (5):
perf: Wrap __hists__add_entry to prep for group entry change
perf: Use macros to walk hist entries
perf: Add in stub hist_entry_group code
perf: Switch to using hist_entry_group
perf: Enable multiple hist_entry_group output
tools/perf/builtin-annotate.c | 13 +-
tools/perf/builtin-diff.c | 127 +++++-----
tools/perf/builtin-report.c | 14 +-
tools/perf/builtin-top.c | 22 +-
tools/perf/tests/hists_link.c | 124 ++++------
tools/perf/ui/browsers/hists.c | 40 +++-
tools/perf/ui/gtk/hists.c | 80 ++++---
tools/perf/ui/hist.c | 29 ++-
tools/perf/ui/stdio/hist.c | 97 ++++++--
tools/perf/util/evsel.c | 7 +-
tools/perf/util/hist.c | 512 +++++++++++++++++++++++++++++------------
tools/perf/util/hist.h | 29 ++-
tools/perf/util/sort.c | 183 ++++++++++++++-
tools/perf/util/sort.h | 138 ++++++++++-
14 files changed, 1017 insertions(+), 398 deletions(-)
--
1.7.11.7
next reply other threads:[~2014-04-10 20:11 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-10 20:10 Don Zickus [this message]
2014-04-10 20:10 ` [RFC 1/5] perf: Wrap __hists__add_entry to prep for group entry change Don Zickus
2014-04-10 20:10 ` [RFC 2/5] perf: Use macros to walk hist entries Don Zickus
2014-04-10 20:10 ` [RFC 3/5] perf: Add in stub hist_entry_group code Don Zickus
2014-04-10 20:11 ` [RFC 4/5] perf: Switch to using hist_entry_group Don Zickus
2014-04-10 20:11 ` [RFC 5/5] perf: Enable multiple hist_entry_group output Don Zickus
2014-04-11 17:30 ` Jiri Olsa
2014-04-11 18:28 ` Don Zickus
2014-04-11 18:34 ` Don Zickus
2014-04-14 9:19 ` Jiri Olsa
2014-04-14 14:13 ` Don Zickus
2014-04-15 3:01 ` [RFC 0/5] perf: Create hist_entry groups Namhyung Kim
2014-04-15 9:40 ` Jiri Olsa
2014-04-15 11:35 ` Namhyung Kim
2014-04-15 16:08 ` Don Zickus
2014-04-16 8:29 ` Namhyung Kim
2014-04-21 20:07 ` Don Zickus
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=1397160661-33395-1-git-send-email-dzickus@redhat.com \
--to=dzickus@redhat.com \
--cc=acme@kernel.org \
--cc=andi@firstfloor.org \
--cc=eranian@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox