From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756791AbcKXERQ (ORCPT ); Wed, 23 Nov 2016 23:17:16 -0500 Received: from terminus.zytor.com ([198.137.202.10]:49684 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756124AbcKXERP (ORCPT ); Wed, 23 Nov 2016 23:17:15 -0500 Date: Wed, 23 Nov 2016 20:16:59 -0800 From: tip-bot for Jiri Olsa Message-ID: Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org, dsahern@gmail.com, jolsa@redhat.com, dzickus@redhat.com, mingo@kernel.org, a.p.zijlstra@chello.nl, namhyung@kernel.org, acme@redhat.com, andi@firstfloor.org, hpa@zytor.com, jmario@redhat.com, jolsa@kernel.org Reply-To: dzickus@redhat.com, mingo@kernel.org, jolsa@redhat.com, dsahern@gmail.com, tglx@linutronix.de, linux-kernel@vger.kernel.org, jolsa@kernel.org, andi@firstfloor.org, hpa@zytor.com, acme@redhat.com, jmario@redhat.com, namhyung@kernel.org, a.p.zijlstra@chello.nl In-Reply-To: <1479764011-10732-5-git-send-email-jolsa@kernel.org> References: <1479764011-10732-5-git-send-email-jolsa@kernel.org> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf c2c report: Add struct c2c_stats::tot_hitm field Git-Commit-ID: dba8ab93792a3a864ff741efe435b2ecbdfb66b1 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: dba8ab93792a3a864ff741efe435b2ecbdfb66b1 Gitweb: http://git.kernel.org/tip/dba8ab93792a3a864ff741efe435b2ecbdfb66b1 Author: Jiri Olsa AuthorDate: Mon, 21 Nov 2016 22:33:29 +0100 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 23 Nov 2016 10:44:05 -0300 perf c2c report: Add struct c2c_stats::tot_hitm field Count total number of HITMs in a special field. This will ease up addition of total HITM sorting into c2c report in the following patch. Signed-off-by: Jiri Olsa Cc: Andi Kleen Cc: David Ahern Cc: Don Zickus Cc: Joe Mario Cc: Namhyung Kim Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1479764011-10732-5-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/mem-events.c | 12 ++++++++++-- tools/perf/util/mem-events.h | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index e507732..1d4ab53 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -280,6 +280,12 @@ int c2c_decode_stats(struct c2c_stats *stats, struct mem_info *mi) u64 lock = data_src->mem_lock; int err = 0; +#define HITM_INC(__f) \ +do { \ + stats->__f++; \ + stats->tot_hitm++; \ +} while (0) + #define P(a, b) PERF_MEM_##a##_##b stats->nr_entries++; @@ -303,7 +309,7 @@ int c2c_decode_stats(struct c2c_stats *stats, struct mem_info *mi) if (lvl & P(LVL, L2 )) stats->ld_l2hit++; if (lvl & P(LVL, L3 )) { if (snoop & P(SNOOP, HITM)) - stats->lcl_hitm++; + HITM_INC(lcl_hitm); else stats->ld_llchit++; } @@ -331,7 +337,7 @@ int c2c_decode_stats(struct c2c_stats *stats, struct mem_info *mi) if (snoop & P(SNOOP, HIT)) stats->rmt_hit++; else if (snoop & P(SNOOP, HITM)) - stats->rmt_hitm++; + HITM_INC(rmt_hitm); } if ((lvl & P(LVL, MISS))) @@ -364,6 +370,7 @@ int c2c_decode_stats(struct c2c_stats *stats, struct mem_info *mi) } #undef P +#undef HITM_INC return err; } @@ -390,6 +397,7 @@ void c2c_add_stats(struct c2c_stats *stats, struct c2c_stats *add) stats->ld_llchit += add->ld_llchit; stats->lcl_hitm += add->lcl_hitm; stats->rmt_hitm += add->rmt_hitm; + stats->tot_hitm += add->tot_hitm; stats->rmt_hit += add->rmt_hit; stats->lcl_dram += add->lcl_dram; stats->rmt_dram += add->rmt_dram; diff --git a/tools/perf/util/mem-events.h b/tools/perf/util/mem-events.h index faf8040..40f72ee 100644 --- a/tools/perf/util/mem-events.h +++ b/tools/perf/util/mem-events.h @@ -59,6 +59,7 @@ struct c2c_stats { u32 ld_llchit; /* count of loads that hit LLC */ u32 lcl_hitm; /* count of loads with local HITM */ u32 rmt_hitm; /* count of loads with remote HITM */ + u32 tot_hitm; /* count of loads with local and remote HITM */ u32 rmt_hit; /* count of loads with remote hit clean; */ u32 lcl_dram; /* count of loads miss to local DRAM */ u32 rmt_dram; /* count of loads miss to remote DRAM */