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


Groups > linux.kernel > #1334250

[PATCH 10/23] perf x86 intel: Add DATALA events into sysfs

From Jiri Olsa <jolsa@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 10/23] perf x86 intel: Add DATALA events into sysfs
Date 2016-02-15 09:40 +0100
Message-ID <r2mRl-6Rc-19@gated-at.bofh.it> (permalink)
References <r2mRk-6Rc-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Adding DATALA events into Haaswell events sysfs
directory, so it's easier to use them.

Adding all DATALA events as specified by Intel SDM
manual 18.10.3 PEBS Data Address Profiling.

Link: http://lkml.kernel.org/n/tip-dvpk5ys80v41oh5xgqvloviw@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 arch/x86/kernel/cpu/perf_event_intel.c | 39 ++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c
index fed2ab1f1065..aadccb782e78 100644
--- a/arch/x86/kernel/cpu/perf_event_intel.c
+++ b/arch/x86/kernel/cpu/perf_event_intel.c
@@ -3253,6 +3253,26 @@ static __init void intel_ht_bug(void)
 EVENT_ATTR_STR(mem-loads,	mem_ld_hsw,	"event=0xcd,umask=0x1,ldlat=3");
 EVENT_ATTR_STR(mem-stores,	mem_st_hsw,	"event=0xd0,umask=0x82")
 
+EVENT_ATTR_STR(mem-stlb-miss-loads,	hsw_stlb_miss_loads,	"event=0xd0,umask=0x11");
+EVENT_ATTR_STR(mem-stlb-miss-stores,	hsw_stlb_miss_stores,	"event=0xd0,umask=0x12");
+EVENT_ATTR_STR(mem-lock-loads,		hsw_lock_loads,		"event=0xd0,umask=0x21");
+EVENT_ATTR_STR(mem-split-loads,		hsw_split_loads,	"event=0xd0,umask=0x41");
+EVENT_ATTR_STR(mem-split-stores,	hsw_split_stores,	"event=0xd0,umask=0x42");
+EVENT_ATTR_STR(mem-all-loads,		hsw_all_loads,		"event=0xd0,umask=0x81");
+EVENT_ATTR_STR(mem-all-stores,		hsw_all_stores,		"event=0xd0,umask=0x82");
+EVENT_ATTR_STR(mem-load-l1-hit,		hsw_load_l1_hit,	"event=0xd1,umask=0x01");
+EVENT_ATTR_STR(mem-load-l2-hit,		hsw_load_l2_hit,	"event=0xd1,umask=0x02");
+EVENT_ATTR_STR(mem-load-l3-hit,		hsw_load_l3_hit,	"event=0xd1,umask=0x04");
+EVENT_ATTR_STR(mem-load-l1-miss,	hsw_load_l1_miss,	"event=0xd1,umask=0x08");
+EVENT_ATTR_STR(mem-load-l2-miss,	hsw_load_l2_miss,	"event=0xd1,umask=0x10");
+EVENT_ATTR_STR(mem-load-l3-miss,	hsw_load_l3_miss,	"event=0xd1,umask=0x20");
+EVENT_ATTR_STR(mem-load-hit-lfb,	hsw_load_hit_lfb,	"event=0xd1,umask=0x40");
+EVENT_ATTR_STR(mem-snp-miss,		hsw_snp_miss,		"event=0xd2,umask=0x01");
+EVENT_ATTR_STR(mem-snp-hit,		hsw_snp_hit,		"event=0xd2,umask=0x02");
+EVENT_ATTR_STR(mem-snp-hitm,		hsw_snp_hitm,		"event=0xd2,umask=0x04");
+EVENT_ATTR_STR(mem-snp-none,		hsw_snp_none,		"event=0xd2,umask=0x08");
+EVENT_ATTR_STR(mem-local-dram,		hsw_local_dram,		"event=0xd3,umask=0x01");
+
 /* Haswell special events */
 EVENT_ATTR_STR(tx-start,	tx_start,	"event=0xc9,umask=0x1");
 EVENT_ATTR_STR(tx-commit,	tx_commit,	"event=0xc9,umask=0x2");
@@ -3282,6 +3302,25 @@ static struct attribute *hsw_events_attrs[] = {
 	EVENT_PTR(cycles_ct),
 	EVENT_PTR(mem_ld_hsw),
 	EVENT_PTR(mem_st_hsw),
+	EVENT_PTR(hsw_stlb_miss_loads),
+	EVENT_PTR(hsw_stlb_miss_stores),
+	EVENT_PTR(hsw_lock_loads),
+	EVENT_PTR(hsw_split_loads),
+	EVENT_PTR(hsw_split_stores),
+	EVENT_PTR(hsw_all_loads),
+	EVENT_PTR(hsw_all_stores),
+	EVENT_PTR(hsw_load_l1_hit),
+	EVENT_PTR(hsw_load_l2_hit),
+	EVENT_PTR(hsw_load_l3_hit),
+	EVENT_PTR(hsw_load_l1_miss),
+	EVENT_PTR(hsw_load_l2_miss),
+	EVENT_PTR(hsw_load_l3_miss),
+	EVENT_PTR(hsw_load_hit_lfb),
+	EVENT_PTR(hsw_snp_miss),
+	EVENT_PTR(hsw_snp_hit),
+	EVENT_PTR(hsw_snp_hitm),
+	EVENT_PTR(hsw_snp_none),
+	EVENT_PTR(hsw_local_dram),
 	NULL
 };
 
-- 
2.4.3

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


Thread

[PATCH 00/23] perf tools: Several memory events updates Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 10/23] perf x86 intel: Add DATALA events into sysfs Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 11/23] perf mem: Add Intel DATALA memory events Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 18/23] perf tools: Change perf_mem__lvl_scnprintf to return nb of displayed bytes Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 13/23] perf tools: Introduce perf_mem__tlb_scnprintf function Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 09/23] perf mem: Add -u/-k options Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 03/23] perf tools: Introduce cl_offset function Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 06/23] perf mem: Check for memory events support Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 15/23] perf tools: Introduce perf_mem__snp_scnprintf function Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 01/23] perf record: Add --all-user/--all-kernel options Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
    Re: [PATCH 01/23] perf record: Add --all-user/--all-kernel options Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-16 18:00 +0100
      Re: [PATCH 01/23] perf record: Add --all-user/--all-kernel options Andi Kleen <ak@linux.intel.com> - 2016-02-17 04:20 +0100
        Re: [PATCH 01/23] perf record: Add --all-user/--all-kernel options Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-17 15:30 +0100
          Re: [PATCH 01/23] perf record: Add --all-user/--all-kernel options Andi Kleen <ak@linux.intel.com> - 2016-02-17 16:40 +0100
      Re: [PATCH 01/23] perf record: Add --all-user/--all-kernel options Jiri Olsa <jolsa@redhat.com> - 2016-02-17 15:40 +0100
        Re: [PATCH 01/23] perf record: Add --all-user/--all-kernel options Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-17 16:00 +0100
    [tip:perf/core] perf record: Add --all-user/--all-kernel options tip-bot for Jiri Olsa <tipbot@zytor.com> - 2016-02-20 12:40 +0100
  [PATCH 17/23] perf tools: Change perf_mem__tlb_scnprintf to return nb of displayed bytes Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 23/23] perf script: Display data_src values Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 05/23] perf mem: Add -e record option Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 14/23] perf tools: Introduce perf_mem__lvl_scnprintf function Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 21/23] perf script: Add data_src and weight column definitions Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:40 +0100
  [PATCH 07/23] perf mem: Introduce perf_mem_events__name function Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:50 +0100
  [PATCH 04/23] perf tools: Add monitored events array Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:50 +0100
  [PATCH 02/23] perf tools: Make cl_address global Jiri Olsa <jolsa@kernel.org> - 2016-02-15 09:50 +0100

csiph-web