From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752681AbcBOIff (ORCPT ); Mon, 15 Feb 2016 03:35:35 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44070 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752612AbcBOIfc (ORCPT ); Mon, 15 Feb 2016 03:35:32 -0500 From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: lkml , David Ahern , Ingo Molnar , Namhyung Kim , Peter Zijlstra , Stephane Eranian , Andi Kleen Subject: [PATCH 11/23] perf mem: Add Intel DATALA memory events Date: Mon, 15 Feb 2016 09:34:41 +0100 Message-Id: <1455525293-8671-12-git-send-email-jolsa@kernel.org> In-Reply-To: <1455525293-8671-1-git-send-email-jolsa@kernel.org> References: <1455525293-8671-1-git-send-email-jolsa@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Adding Intel DATALA memory events into perf mem record command: $ perf mem record -e list [ok] ldlat-loads [ok] ldlat-stores stlb-miss-loads stlb-miss-stores lock-loads split-loads split-stores all-loads all-stores l1-hit l2-hit l3-hit l1-miss l2-miss l3-miss lfb snp-miss snp-hit snp-hitm snp-none local-dram All events from above lists are compiled in, but only those with [ok] are supported by kernel/HW. You need previous DATALA patch to support all of them. Link: http://lkml.kernel.org/n/tip-cximteb8r1a6750wz8sgeajh@git.kernel.org Signed-off-by: Jiri Olsa --- tools/perf/util/mem-events.c | 19 +++++++++++++++++++ tools/perf/util/mem-events.h | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index 3772a3a8a6ee..92d3bc9914e6 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -16,6 +16,25 @@ unsigned int perf_mem_events__loads_ldlat = 30; struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX] = { E("ldlat-loads", "cpu/mem-loads,ldlat=%u/P", "mem-loads"), E("ldlat-stores", "cpu/mem-stores/P", "mem-stores"), + E("stlb-miss-loads", "cpu/mem-stlb-miss-loads/P", "mem-stlb-miss-loads"), + E("stlb-miss-stores", "cpu/mem-stlb-miss-stores/P", "mem-stlb-miss-stores"), + E("lock-loads", "cpu/mem-lock-loads/P", "mem-lock-loads"), + E("split-loads", "cpu/mem-split-loads/P", "mem-split-loads"), + E("split-stores", "cpu/mem-split-stores/P", "mem-split-stores"), + E("all-loads", "cpu/mem-all-loads/P", "mem-all-loads"), + E("all-stores", "cpu/mem-all-stores/P", "mem-all-stores"), + E("l1-hit", "cpu/mem-load-l1-hit/P", "mem-load-l1-hit"), + E("l2-hit", "cpu/mem-load-l2-hit/P", "mem-load-l2-hit"), + E("l3-hit", "cpu/mem-load-l3-hit/P", "mem-load-l3-hit"), + E("l1-miss", "cpu/mem-load-l1-miss/P", "mem-load-l1-miss"), + E("l2-miss", "cpu/mem-load-l2-miss/P", "mem-load-l2-miss"), + E("l3-miss", "cpu/mem-load-l3-miss/P", "mem-load-l3-miss"), + E("lfb", "cpu/mem-load-hit-lfb/P", "mem-load-hit-lfb"), + E("snp-miss", "cpu/mem-snp-miss/P", "mem-snp-miss"), + E("snp-hit", "cpu/mem-snp-hit/P", "mem-snp-hit"), + E("snp-hitm", "cpu/mem-snp-hitm/P", "mem-snp-hitm"), + E("snp-none", "cpu/mem-snp-none/P", "mem-snp-none"), + E("local-dram", "cpu/mem-local-dram/P", "mem-local-dram"), }; #undef E diff --git a/tools/perf/util/mem-events.h b/tools/perf/util/mem-events.h index d690907f7e50..4abf606b256b 100644 --- a/tools/perf/util/mem-events.h +++ b/tools/perf/util/mem-events.h @@ -14,6 +14,25 @@ struct perf_mem_event { enum { PERF_MEM_EVENTS__LOAD, PERF_MEM_EVENTS__STORE, + PERF_MEM_EVENTS__STLB_MISS_LOADS, + PERF_MEM_EVENTS__STLB_MISS_STORES, + PERF_MEM_EVENTS__LOCK_LOADS, + PERF_MEM_EVENTS__SPLIT_LOADS, + PERF_MEM_EVENTS__SPLIT_STORES, + PERF_MEM_EVENTS__ALL_LOADS, + PERF_MEM_EVENTS__ALL_STORES, + PERF_MEM_EVENTS__L1_HIT, + PERF_MEM_EVENTS__L2_HIT, + PERF_MEM_EVENTS__L3_HIT, + PERF_MEM_EVENTS__L1_MISS, + PERF_MEM_EVENTS__L2_MISS, + PERF_MEM_EVENTS__L3_MISS, + PERF_MEM_EVENTS__LFB, + PERF_MEM_EVENTS__SNP_MISS, + PERF_MEM_EVENTS__SNP_HIT, + PERF_MEM_EVENTS__SNP_HITM, + PERF_MEM_EVENTS__SNP_NONE, + PERF_MEM_EVENTS__LOCAL_DRAM, PERF_MEM_EVENTS__MAX, }; -- 2.4.3