From: Jiri Olsa <jolsa@redhat.com>
To: Don Zickus <dzickus@redhat.com>
Cc: acme@ghostprotocols.net, peterz@infradead.org,
LKML <linux-kernel@vger.kernel.org>,
namhyung@gmail.com, eranian@google.com,
Andi Kleen <andi@firstfloor.org>
Subject: Re: [PATCH 7/7] perf: Add dcacheline sort
Date: Fri, 23 May 2014 19:14:26 +0200 [thread overview]
Message-ID: <20140523171426.GG1074@krava> (raw)
In-Reply-To: <1400526833-141779-8-git-send-email-dzickus@redhat.com>
On Mon, May 19, 2014 at 03:13:53PM -0400, Don Zickus wrote:
> In perf's 'mem-mode', one can get access to a whole bunch of details specific to a
> particular sample instruction. A bunch of those details relate to the data
> address.
>
> One interesting thing you can do with data addresses is to convert them into a unique
> cacheline they belong too. Organizing these data cachelines into similar groups and sorting
> them can reveal cache contention.
>
> This patch creates an alogorithm based on various sample details that can help group
> entries together into data cachelines and allows 'perf report' to sort on it.
>
> The algorithm relies on having proper mmap2 support in the kernel to help determine
> if the memory map the data address belongs to is private to a pid or globally shared.
>
> The alogortithm is as follows:
>
> o group cpumodes together
> o group entries with discovered maps together
> o sort on major, minor, inode and inode generation numbers
> o if userspace anon, then sort on pid
> o sort on cachelines based on data addresses
>
> The 'dcacheline' sort option in 'perf report' only works in 'mem-mode'.
>
> Sample output:
>
> #
> # Samples: 206 of event 'cpu/mem-loads/pp'
> # Total weight : 2534
> # Sort order : dcacheline,pid
> #
> # Overhead Samples Data Cacheline Command: Pid
> # ........ ............ ...................................................................... ..................
> #
> 13.22% 1 [k] 0xffff88042f08ebc0 swapper: 0
> 9.27% 1 [k] 0xffff88082e8cea80 swapper: 0
> 3.59% 2 [k] 0xffffffff819ba180 swapper: 0
> 0.32% 1 [k] arch_trigger_all_cpu_backtrace_handler_na.23901+0xffffffffffffffe0 swapper: 0
> 0.32% 1 [k] timekeeper_seq+0xfffffffffffffff8 swapper: 0
>
> Note: Added a '+1' to symlen size in hists__calc_col_len to prevent the next column
> from prematurely tabbing over and mis-aligning. Not sure what the problem is.
I think thats the extra '+' sign ;-) so +1 seems ok
jirka
next prev parent reply other threads:[~2014-05-23 17:15 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-19 19:13 [PATCH 0/7 V3] x86, nmi: Various fixes and cleanups Don Zickus
2014-05-19 19:13 ` [PATCH 1/7] events, perf: Pass protection and flags bits through mmap2 interface Don Zickus
2014-06-12 12:02 ` [tip:perf/core] " tip-bot for Peter Zijlstra
2014-05-19 19:13 ` [PATCH 2/7] Revert "perf: Disable PERF_RECORD_MMAP2 support" Don Zickus
2014-05-19 19:13 ` [PATCH 3/7] perf: Update mmap2 interface with protection and flag bits Don Zickus
2014-06-12 12:02 ` [tip:perf/core] perf tools: " tip-bot for Don Zickus
2014-05-19 19:13 ` [PATCH 4/7] perf report: Add mem-mode documentation to report command Don Zickus
2014-06-12 12:02 ` [tip:perf/core] " tip-bot for Don Zickus
2014-05-19 19:13 ` [PATCH 5/7] perf: Add cpumode to struct hist_entry Don Zickus
2014-05-19 19:13 ` [PATCH 6/7] perf: Add support to dynamically get cacheline size Don Zickus
2014-05-23 16:54 ` Jiri Olsa
2014-05-23 17:18 ` Don Zickus
2014-05-23 17:09 ` Jiri Olsa
2014-05-23 17:30 ` Don Zickus
2014-05-19 19:13 ` [PATCH 7/7] perf: Add dcacheline sort Don Zickus
2014-05-23 17:14 ` Jiri Olsa [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-05-27 16:28 [PATCH 0/7 V4] perf: Enable mmap2 and add dcacheline sorting Don Zickus
2014-05-27 16:28 ` [PATCH 7/7] perf: Add dcacheline sort 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=20140523171426.GG1074@krava \
--to=jolsa@redhat.com \
--cc=acme@ghostprotocols.net \
--cc=andi@firstfloor.org \
--cc=dzickus@redhat.com \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=namhyung@gmail.com \
--cc=peterz@infradead.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.