Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1489007

[PATCH 21/57] perf c2c report: Add offset dimension key

From Jiri Olsa <jolsa@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 21/57] perf c2c report: Add offset dimension key
Date 2016-09-22 17:40 +0200
Message-ID <skegr-8a2-55@gated-at.bofh.it> (permalink)
References <skegp-8a2-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Adding cacheline offset dimension key support.
It displays cacheline offset as hex number.

Link: http://lkml.kernel.org/n/tip-m0424ye98lqveg5nopto8qww@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/builtin-c2c.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index 335c0fd30757..7c52481ec36b 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -300,6 +300,32 @@ static int dcacheline_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
 	return snprintf(hpp->buf, hpp->size, "%*s", width, hex_str(addr));
 }
 
+static int offset_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
+			struct hist_entry *he)
+{
+	uint64_t addr = 0;
+	int width = c2c_width(fmt, hpp, he->hists);
+
+	if (he->mem_info)
+		addr = cl_offset(he->mem_info->daddr.al_addr);
+
+	return snprintf(hpp->buf, hpp->size, "%*s", width, hex_str(addr));
+}
+
+static int64_t
+offset_cmp(struct perf_hpp_fmt *fmt __maybe_unused,
+	   struct hist_entry *left, struct hist_entry *right)
+{
+	uint64_t l = 0, r = 0;
+
+	if (left->mem_info)
+		l = cl_offset(left->mem_info->daddr.addr);
+	if (right->mem_info)
+		r = cl_offset(right->mem_info->daddr.addr);
+
+	return (int64_t)(r - l);
+}
+
 #define HEADER_LOW(__h)			\
 	{				\
 		.line[1] = {		\
@@ -343,8 +369,17 @@ static struct c2c_dimension dim_dcacheline = {
 	.width		= 18,
 };
 
+static struct c2c_dimension dim_offset = {
+	.header		= HEADER_BOTH("Data address", "Offset"),
+	.name		= "offset",
+	.cmp		= offset_cmp,
+	.entry		= offset_entry,
+	.width		= 18,
+};
+
 static struct c2c_dimension *dimensions[] = {
 	&dim_dcacheline,
+	&dim_offset,
 	NULL,
 };
 
-- 
2.7.4

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCHv4 00/57] perf c2c: Add new tool to analyze cacheline contention on NUMA systems Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:40 +0200
  [PATCH 01/57] perf tools: Add __hist_entry__snprintf function Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:40 +0200
    Re: [PATCH 01/57] perf tools: Add __hist_entry__snprintf function Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-22 18:00 +0200
    [tip:perf/core] perf hists: Add __hist_entry__snprintf function tip-bot for Jiri Olsa <tipbot@zytor.com> - 2016-09-23 07:30 +0200
  [PATCH 43/57] perf c2c report: Add main browser Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:40 +0200
  [PATCH 21/57] perf c2c report: Add offset dimension key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:40 +0200
  [PATCH 55/57] perf c2c report: Iterate node display in browser Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:40 +0200
  [PATCH 41/57] perf c2c report: Set final resort fields Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 23/57] perf c2c report: Add hitm related dimension keys Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 51/57] perf c2c report: Allow to set cacheline sort fields Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 39/57] perf c2c report: Add src line sort key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 44/57] perf c2c report: Add cacheline browser Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 30/57] perf c2c report: Add hitm percent sort key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 42/57] perf c2c report: Add stdio output support Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 53/57] perf c2c report: Add cacheline index entry Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 47/57] perf c2c report: Add c2c related stats stdio output Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 24/57] perf c2c report: Add stores related dimension keys Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 56/57] perf c2c report: Add help windows Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 31/57] perf c2c report: Add hitm/store percent related sort keys Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 22/57] perf c2c report: Add iaddr dimension key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 33/57] perf c2c report: Add pid sort key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 49/57] perf c2c report: Limit the cachelines table entries Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 28/57] perf c2c report: Add total record sort key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 26/57] perf c2c report: Add llc and remote loads related dimension keys Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 34/57] perf c2c report: Add tid sort key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 25/57] perf c2c report: Add loads related dimension keys Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 37/57] perf c2c report: Add stats related sort keys Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 50/57] perf c2c report: Add support to choose local HITMs Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 36/57] perf c2c report: Add node sort key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 45/57] perf c2c report: Add global stats stdio output Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 52/57] perf c2c report: Recalc width of global sort entries Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 38/57] perf c2c report: Add cpu cnt sort key Jiri Olsa <jolsa@kernel.org> - 2016-09-22 17:50 +0200
  [PATCH 08/57] perf tools: Make __hist_entry__snprintf function global Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
    Re: [PATCH 08/57] perf tools: Make __hist_entry__snprintf function  global Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-22 18:00 +0200
    [tip:perf/core] perf hists: Make __hist_entry__snprintf function  global tip-bot for Jiri Olsa <tipbot@zytor.com> - 2016-09-23 07:40 +0200
  [PATCH 06/57] perf tools: Make several sorting functions global Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
    Re: [PATCH 06/57] perf tools: Make several sorting functions global Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-22 18:00 +0200
    [tip:perf/core] perf tools: Make several sorting functions global tip-bot for Jiri Olsa <tipbot@zytor.com> - 2016-09-23 07:40 +0200
  [PATCH 19/57] perf c2c report: Add header macros Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
  Re: [PATCH 04/57] perf tools: Make reset_dimensions global Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-22 18:00 +0200
  [PATCH 03/57] perf tools: Introduce c2c_add_stats function Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
  [PATCH 11/57] perf c2c: Add record subcommand Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
  [PATCH 04/57] perf tools: Make reset_dimensions global Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
    [tip:perf/core] perf tools: Make reset_dimensions global tip-bot for Jiri Olsa <tipbot@zytor.com> - 2016-09-23 07:30 +0200
  [PATCH 17/57] perf c2c report: Add cacheline hists processing Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
  [PATCH 14/57] perf c2c report: Add sort_entry dimension support Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
  [PATCH 09/57] perf tools: Make hists__fprintf_headers function global Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
    Re: [PATCH 09/57] perf tools: Make hists__fprintf_headers function  global Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-22 18:00 +0200
    [tip:perf/core] perf hists: Make hists__fprintf_headers function  global tip-bot for Jiri Olsa <tipbot@zytor.com> - 2016-09-23 07:40 +0200
  [PATCH 15/57] perf c2c report: Fallback to standard dimensions Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
  [PATCH 10/57] perf c2c: Add c2c command Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200
  [PATCH 12/57] perf c2c: Add report subcommand Jiri Olsa <jolsa@kernel.org> - 2016-09-22 18:00 +0200

csiph-web