public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] several fixes for SKX uncore
@ 2017-07-13 17:35 kan.liang
  2017-07-13 17:35 ` [PATCH 1/6] perf/x86/uncore: fix Skylake UPI PMU event masks kan.liang
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: kan.liang @ 2017-07-13 17:35 UTC (permalink / raw)
  To: peterz, tglx, mingo, linux-kernel; +Cc: eranian, ak, Kan Liang

From: Kan Liang <kan.liang@intel.com>

This series fixes the following issues:
  - wrong event_mask and event_ext_mask for UPI PMU
  - wrong PCU event format
  - wrong umask for LLC_LOOKUP.LOCAL and LLC_LOOKUP.REMOTE events
  - invalid CHA BOX FILTER
  - missing event filters support for TOR_INSERTS and TOR_OCCUPANCY
  - missing end marker for skx_uncore_cha_extra_regs

Kan Liang (3):
  perf/x86/uncore: fix Skylake server PCU PMU event format
  perf/x86/uncore: fix Skylake server CHA LLC_LOOKUP event umask
  perf/x86/uncore: remove invalid Skylake server CHA filter field

Stephane Eranian (3):
  perf/x86/uncore: fix Skylake UPI PMU event masks
  perf/x86/uncore: fix SKX CHA event extra regs
  perf/x86/uncore: fix missing marker for skx_uncore_cha_extra_regs

 arch/x86/events/intel/uncore_snbep.c | 51 +++++++++++++++++++++++++++++-------
 1 file changed, 41 insertions(+), 10 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/6] perf/x86/uncore: fix Skylake UPI PMU event masks
  2017-07-13 17:35 [PATCH 0/6] several fixes for SKX uncore kan.liang
@ 2017-07-13 17:35 ` kan.liang
  2017-07-24 10:16   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Stephane Eranian
  2017-07-13 17:35 ` [PATCH 2/6] perf/x86/uncore: fix Skylake server PCU PMU event format kan.liang
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: kan.liang @ 2017-07-13 17:35 UTC (permalink / raw)
  To: peterz, tglx, mingo, linux-kernel; +Cc: eranian, ak, Kan Liang

From: Stephane Eranian <eranian@google.com>

This patch fixes the event_mask and event_ext_mask for the Intel Skylake
Server UPI PMU. Bit 21 is not used as a filter. The extended umask is
from bit 32 to bit 55. Correct both umasks.

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Kan Liang <kan.liang@intel.com>
---
 arch/x86/events/intel/uncore_snbep.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index dae2fed..19a00a7 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -316,7 +316,7 @@
 #define SKX_UPI_PCI_PMON_CTL0		0x350
 #define SKX_UPI_PCI_PMON_CTR0		0x318
 #define SKX_UPI_PCI_PMON_BOX_CTL	0x378
-#define SKX_PMON_CTL_UMASK_EXT		0xff
+#define SKX_UPI_CTL_UMASK_EXT		0xffefff
 
 /* SKX M2M */
 #define SKX_M2M_PCI_PMON_CTL0		0x228
@@ -328,7 +328,7 @@ DEFINE_UNCORE_FORMAT_ATTR(event2, event, "config:0-6");
 DEFINE_UNCORE_FORMAT_ATTR(event_ext, event, "config:0-7,21");
 DEFINE_UNCORE_FORMAT_ATTR(use_occ_ctr, use_occ_ctr, "config:7");
 DEFINE_UNCORE_FORMAT_ATTR(umask, umask, "config:8-15");
-DEFINE_UNCORE_FORMAT_ATTR(umask_ext, umask, "config:8-15,32-39");
+DEFINE_UNCORE_FORMAT_ATTR(umask_ext, umask, "config:8-15,32-43,45-55");
 DEFINE_UNCORE_FORMAT_ATTR(qor, qor, "config:16");
 DEFINE_UNCORE_FORMAT_ATTR(edge, edge, "config:18");
 DEFINE_UNCORE_FORMAT_ATTR(tid_en, tid_en, "config:19");
@@ -3603,8 +3603,8 @@ static struct intel_uncore_type skx_uncore_upi = {
 	.perf_ctr_bits	= 48,
 	.perf_ctr	= SKX_UPI_PCI_PMON_CTR0,
 	.event_ctl	= SKX_UPI_PCI_PMON_CTL0,
-	.event_mask	= SNBEP_QPI_PCI_PMON_RAW_EVENT_MASK,
-	.event_mask_ext = SKX_PMON_CTL_UMASK_EXT,
+	.event_mask	= SNBEP_PMON_RAW_EVENT_MASK,
+	.event_mask_ext = SKX_UPI_CTL_UMASK_EXT,
 	.box_ctl	= SKX_UPI_PCI_PMON_BOX_CTL,
 	.ops		= &skx_upi_uncore_pci_ops,
 	.format_group	= &skx_upi_uncore_format_group,
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/6] perf/x86/uncore: fix Skylake server PCU PMU event format
  2017-07-13 17:35 [PATCH 0/6] several fixes for SKX uncore kan.liang
  2017-07-13 17:35 ` [PATCH 1/6] perf/x86/uncore: fix Skylake UPI PMU event masks kan.liang
@ 2017-07-13 17:35 ` kan.liang
  2017-07-24 10:17   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Kan Liang
  2017-07-13 17:35 ` [PATCH 3/6] perf/x86/uncore: fix Skylake server CHA LLC_LOOKUP event umask kan.liang
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: kan.liang @ 2017-07-13 17:35 UTC (permalink / raw)
  To: peterz, tglx, mingo, linux-kernel; +Cc: eranian, ak, Kan Liang

From: Kan Liang <kan.liang@intel.com>

PCU event format for SKX are different from snbep. Introduce a new
format group for SKX PCU.

Signed-off-by: Kan Liang <kan.liang@intel.com>
---
 arch/x86/events/intel/uncore_snbep.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index 19a00a7..fbf8f6e 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3492,6 +3492,26 @@ static struct intel_uncore_type skx_uncore_irp = {
 	.format_group		= &skx_uncore_format_group,
 };
 
+static struct attribute *skx_uncore_pcu_formats_attr[] = {
+	&format_attr_event.attr,
+	&format_attr_umask.attr,
+	&format_attr_edge.attr,
+	&format_attr_inv.attr,
+	&format_attr_thresh8.attr,
+	&format_attr_occ_invert.attr,
+	&format_attr_occ_edge_det.attr,
+	&format_attr_filter_band0.attr,
+	&format_attr_filter_band1.attr,
+	&format_attr_filter_band2.attr,
+	&format_attr_filter_band3.attr,
+	NULL,
+};
+
+static struct attribute_group skx_uncore_pcu_format_group = {
+	.name = "format",
+	.attrs = skx_uncore_pcu_formats_attr,
+};
+
 static struct intel_uncore_ops skx_uncore_pcu_ops = {
 	IVBEP_UNCORE_MSR_OPS_COMMON_INIT(),
 	.hw_config		= hswep_pcu_hw_config,
@@ -3510,7 +3530,7 @@ static struct intel_uncore_type skx_uncore_pcu = {
 	.box_ctl		= HSWEP_PCU_MSR_PMON_BOX_CTL,
 	.num_shared_regs	= 1,
 	.ops			= &skx_uncore_pcu_ops,
-	.format_group		= &snbep_uncore_pcu_format_group,
+	.format_group		= &skx_uncore_pcu_format_group,
 };
 
 static struct intel_uncore_type *skx_msr_uncores[] = {
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/6] perf/x86/uncore: fix Skylake server CHA LLC_LOOKUP event umask
  2017-07-13 17:35 [PATCH 0/6] several fixes for SKX uncore kan.liang
  2017-07-13 17:35 ` [PATCH 1/6] perf/x86/uncore: fix Skylake UPI PMU event masks kan.liang
  2017-07-13 17:35 ` [PATCH 2/6] perf/x86/uncore: fix Skylake server PCU PMU event format kan.liang
@ 2017-07-13 17:35 ` kan.liang
  2017-07-24 10:17   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Kan Liang
  2017-07-13 17:35 ` [PATCH 4/6] perf/x86/uncore: remove invalid Skylake server CHA filter field kan.liang
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: kan.liang @ 2017-07-13 17:35 UTC (permalink / raw)
  To: peterz, tglx, mingo, linux-kernel; +Cc: eranian, ak, Kan Liang

From: Kan Liang <kan.liang@intel.com>

Correct the umask for LLC_LOOKUP.LOCAL and LLC_LOOKUP.REMOTE events

Signed-off-by: Kan Liang <kan.liang@intel.com>
---
 arch/x86/events/intel/uncore_snbep.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index fbf8f6e..a30bf97 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3333,8 +3333,8 @@ static struct extra_reg skx_uncore_cha_extra_regs[] = {
 	SNBEP_CBO_EVENT_EXTRA_REG(0x0534, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x0934, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x1134, 0xffff, 0x4),
-	SNBEP_CBO_EVENT_EXTRA_REG(0x2134, 0xffff, 0x4),
-	SNBEP_CBO_EVENT_EXTRA_REG(0x8134, 0xffff, 0x4),
+	SNBEP_CBO_EVENT_EXTRA_REG(0x3134, 0xffff, 0x4),
+	SNBEP_CBO_EVENT_EXTRA_REG(0x9134, 0xffff, 0x4),
 };
 
 static u64 skx_cha_filter_mask(int fields)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/6] perf/x86/uncore: remove invalid Skylake server CHA filter field
  2017-07-13 17:35 [PATCH 0/6] several fixes for SKX uncore kan.liang
                   ` (2 preceding siblings ...)
  2017-07-13 17:35 ` [PATCH 3/6] perf/x86/uncore: fix Skylake server CHA LLC_LOOKUP event umask kan.liang
@ 2017-07-13 17:35 ` kan.liang
  2017-07-24 10:18   ` [tip:perf/urgent] perf/x86/intel/uncore: Remove " tip-bot for Kan Liang
  2017-07-13 17:35 ` [PATCH 5/6] perf/x86/uncore: fix SKX CHA event extra regs kan.liang
  2017-07-13 17:35 ` [PATCH 6/6] perf/x86/uncore: fix missing marker for skx_uncore_cha_extra_regs kan.liang
  5 siblings, 1 reply; 13+ messages in thread
From: kan.liang @ 2017-07-13 17:35 UTC (permalink / raw)
  To: peterz, tglx, mingo, linux-kernel; +Cc: eranian, ak, Kan Liang

From: Kan Liang <kan.liang@intel.com>

There is no field c6 and link for CHA BOX FILTER.

Signed-off-by: Kan Liang <kan.liang@intel.com>
---
 arch/x86/events/intel/uncore_snbep.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index a30bf97..2401d06 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -351,7 +351,6 @@ DEFINE_UNCORE_FORMAT_ATTR(filter_cid, filter_cid, "config1:5");
 DEFINE_UNCORE_FORMAT_ATTR(filter_link, filter_link, "config1:5-8");
 DEFINE_UNCORE_FORMAT_ATTR(filter_link2, filter_link, "config1:6-8");
 DEFINE_UNCORE_FORMAT_ATTR(filter_link3, filter_link, "config1:12");
-DEFINE_UNCORE_FORMAT_ATTR(filter_link4, filter_link, "config1:9-12");
 DEFINE_UNCORE_FORMAT_ATTR(filter_nid, filter_nid, "config1:10-17");
 DEFINE_UNCORE_FORMAT_ATTR(filter_nid2, filter_nid, "config1:32-47");
 DEFINE_UNCORE_FORMAT_ATTR(filter_state, filter_state, "config1:18-22");
@@ -3302,7 +3301,6 @@ static struct attribute *skx_uncore_cha_formats_attr[] = {
 	&format_attr_inv.attr,
 	&format_attr_thresh8.attr,
 	&format_attr_filter_tid4.attr,
-	&format_attr_filter_link4.attr,
 	&format_attr_filter_state5.attr,
 	&format_attr_filter_rem.attr,
 	&format_attr_filter_loc.attr,
@@ -3312,7 +3310,6 @@ static struct attribute *skx_uncore_cha_formats_attr[] = {
 	&format_attr_filter_opc_0.attr,
 	&format_attr_filter_opc_1.attr,
 	&format_attr_filter_nc.attr,
-	&format_attr_filter_c6.attr,
 	&format_attr_filter_isoc.attr,
 	NULL,
 };
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/6] perf/x86/uncore: fix SKX CHA event extra regs
  2017-07-13 17:35 [PATCH 0/6] several fixes for SKX uncore kan.liang
                   ` (3 preceding siblings ...)
  2017-07-13 17:35 ` [PATCH 4/6] perf/x86/uncore: remove invalid Skylake server CHA filter field kan.liang
@ 2017-07-13 17:35 ` kan.liang
  2017-07-24 10:18   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Stephane Eranian
  2017-07-13 17:35 ` [PATCH 6/6] perf/x86/uncore: fix missing marker for skx_uncore_cha_extra_regs kan.liang
  5 siblings, 1 reply; 13+ messages in thread
From: kan.liang @ 2017-07-13 17:35 UTC (permalink / raw)
  To: peterz, tglx, mingo, linux-kernel; +Cc: eranian, ak, Kan Liang

From: Stephane Eranian <eranian@google.com>

This patch adds two missing event extra regs for Skylake Server CHA PMU:

 - TOR_INSERTS
 - TOR_OCCUPANCY

Were missing support for all the filters, including opcode matchers.

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Kan Liang <kan.liang@intel.com>
---
 arch/x86/events/intel/uncore_snbep.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index 2401d06..f9f825b 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3332,6 +3332,8 @@ static struct extra_reg skx_uncore_cha_extra_regs[] = {
 	SNBEP_CBO_EVENT_EXTRA_REG(0x1134, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x3134, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x9134, 0xffff, 0x4),
+	SNBEP_CBO_EVENT_EXTRA_REG(0x35, 0xff, 0x8),
+	SNBEP_CBO_EVENT_EXTRA_REG(0x36, 0xff, 0x8),
 };
 
 static u64 skx_cha_filter_mask(int fields)
@@ -3344,6 +3346,17 @@ static u64 skx_cha_filter_mask(int fields)
 		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_LINK;
 	if (fields & 0x4)
 		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_STATE;
+	if (fields & 0x8) {
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_REM;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_LOC;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_ALL_OPC;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_NM;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_NOT_NM;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_OPC0;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_OPC1;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_NC;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_ISOC;
+	}
 	return mask;
 }
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 6/6] perf/x86/uncore: fix missing marker for skx_uncore_cha_extra_regs
  2017-07-13 17:35 [PATCH 0/6] several fixes for SKX uncore kan.liang
                   ` (4 preceding siblings ...)
  2017-07-13 17:35 ` [PATCH 5/6] perf/x86/uncore: fix SKX CHA event extra regs kan.liang
@ 2017-07-13 17:35 ` kan.liang
  2017-07-24 10:18   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Stephane Eranian
  5 siblings, 1 reply; 13+ messages in thread
From: kan.liang @ 2017-07-13 17:35 UTC (permalink / raw)
  To: peterz, tglx, mingo, linux-kernel; +Cc: eranian, ak, Kan Liang

From: Stephane Eranian <eranian@google.com>

This skx_uncore_cha_extra_regs array was missing an end-marker.

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Kan Liang <kan.liang@intel.com>
---
 arch/x86/events/intel/uncore_snbep.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index f9f825b..4f91276 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3334,6 +3334,7 @@ static struct extra_reg skx_uncore_cha_extra_regs[] = {
 	SNBEP_CBO_EVENT_EXTRA_REG(0x9134, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x35, 0xff, 0x8),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x36, 0xff, 0x8),
+	EVENT_EXTRA_END
 };
 
 static u64 skx_cha_filter_mask(int fields)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [tip:perf/urgent] perf/x86/intel/uncore: Fix Skylake UPI PMU event masks
  2017-07-13 17:35 ` [PATCH 1/6] perf/x86/uncore: fix Skylake UPI PMU event masks kan.liang
@ 2017-07-24 10:16   ` tip-bot for Stephane Eranian
  0 siblings, 0 replies; 13+ messages in thread
From: tip-bot for Stephane Eranian @ 2017-07-24 10:16 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: kan.liang, hpa, peterz, acme, alexander.shishkin, torvalds,
	linux-kernel, vincent.weaver, tglx, jolsa, eranian, mingo

Commit-ID:  b3625980a65db6b6b6bbd5790a77ab95ce6397c5
Gitweb:     http://git.kernel.org/tip/b3625980a65db6b6b6bbd5790a77ab95ce6397c5
Author:     Stephane Eranian <eranian@google.com>
AuthorDate: Thu, 13 Jul 2017 10:35:45 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Mon, 24 Jul 2017 11:13:17 +0200

perf/x86/intel/uncore: Fix Skylake UPI PMU event masks

This patch fixes the event_mask and event_ext_mask for the Intel Skylake
Server UPI PMU. Bit 21 is not used as a filter. The extended umask is
from bit 32 to bit 55. Correct both umasks.

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1499967350-10385-2-git-send-email-kan.liang@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/events/intel/uncore_snbep.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index dae2fed..19a00a7 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -316,7 +316,7 @@
 #define SKX_UPI_PCI_PMON_CTL0		0x350
 #define SKX_UPI_PCI_PMON_CTR0		0x318
 #define SKX_UPI_PCI_PMON_BOX_CTL	0x378
-#define SKX_PMON_CTL_UMASK_EXT		0xff
+#define SKX_UPI_CTL_UMASK_EXT		0xffefff
 
 /* SKX M2M */
 #define SKX_M2M_PCI_PMON_CTL0		0x228
@@ -328,7 +328,7 @@ DEFINE_UNCORE_FORMAT_ATTR(event2, event, "config:0-6");
 DEFINE_UNCORE_FORMAT_ATTR(event_ext, event, "config:0-7,21");
 DEFINE_UNCORE_FORMAT_ATTR(use_occ_ctr, use_occ_ctr, "config:7");
 DEFINE_UNCORE_FORMAT_ATTR(umask, umask, "config:8-15");
-DEFINE_UNCORE_FORMAT_ATTR(umask_ext, umask, "config:8-15,32-39");
+DEFINE_UNCORE_FORMAT_ATTR(umask_ext, umask, "config:8-15,32-43,45-55");
 DEFINE_UNCORE_FORMAT_ATTR(qor, qor, "config:16");
 DEFINE_UNCORE_FORMAT_ATTR(edge, edge, "config:18");
 DEFINE_UNCORE_FORMAT_ATTR(tid_en, tid_en, "config:19");
@@ -3603,8 +3603,8 @@ static struct intel_uncore_type skx_uncore_upi = {
 	.perf_ctr_bits	= 48,
 	.perf_ctr	= SKX_UPI_PCI_PMON_CTR0,
 	.event_ctl	= SKX_UPI_PCI_PMON_CTL0,
-	.event_mask	= SNBEP_QPI_PCI_PMON_RAW_EVENT_MASK,
-	.event_mask_ext = SKX_PMON_CTL_UMASK_EXT,
+	.event_mask	= SNBEP_PMON_RAW_EVENT_MASK,
+	.event_mask_ext = SKX_UPI_CTL_UMASK_EXT,
 	.box_ctl	= SKX_UPI_PCI_PMON_BOX_CTL,
 	.ops		= &skx_upi_uncore_pci_ops,
 	.format_group	= &skx_upi_uncore_format_group,

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [tip:perf/urgent] perf/x86/intel/uncore: Fix Skylake server PCU PMU event format
  2017-07-13 17:35 ` [PATCH 2/6] perf/x86/uncore: fix Skylake server PCU PMU event format kan.liang
@ 2017-07-24 10:17   ` tip-bot for Kan Liang
  0 siblings, 0 replies; 13+ messages in thread
From: tip-bot for Kan Liang @ 2017-07-24 10:17 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: eranian, kan.liang, jolsa, vincent.weaver, linux-kernel, mingo,
	tglx, peterz, alexander.shishkin, hpa, acme, torvalds

Commit-ID:  bab4e569e80c07ba6fe5e4f2d815adeef26cee94
Gitweb:     http://git.kernel.org/tip/bab4e569e80c07ba6fe5e4f2d815adeef26cee94
Author:     Kan Liang <kan.liang@intel.com>
AuthorDate: Thu, 13 Jul 2017 10:35:46 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Mon, 24 Jul 2017 11:13:18 +0200

perf/x86/intel/uncore: Fix Skylake server PCU PMU event format

PCU event format for SKX are different from snbep. Introduce a new
format group for SKX PCU.

Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1499967350-10385-3-git-send-email-kan.liang@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/events/intel/uncore_snbep.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index 19a00a7..fbf8f6e 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3492,6 +3492,26 @@ static struct intel_uncore_type skx_uncore_irp = {
 	.format_group		= &skx_uncore_format_group,
 };
 
+static struct attribute *skx_uncore_pcu_formats_attr[] = {
+	&format_attr_event.attr,
+	&format_attr_umask.attr,
+	&format_attr_edge.attr,
+	&format_attr_inv.attr,
+	&format_attr_thresh8.attr,
+	&format_attr_occ_invert.attr,
+	&format_attr_occ_edge_det.attr,
+	&format_attr_filter_band0.attr,
+	&format_attr_filter_band1.attr,
+	&format_attr_filter_band2.attr,
+	&format_attr_filter_band3.attr,
+	NULL,
+};
+
+static struct attribute_group skx_uncore_pcu_format_group = {
+	.name = "format",
+	.attrs = skx_uncore_pcu_formats_attr,
+};
+
 static struct intel_uncore_ops skx_uncore_pcu_ops = {
 	IVBEP_UNCORE_MSR_OPS_COMMON_INIT(),
 	.hw_config		= hswep_pcu_hw_config,
@@ -3510,7 +3530,7 @@ static struct intel_uncore_type skx_uncore_pcu = {
 	.box_ctl		= HSWEP_PCU_MSR_PMON_BOX_CTL,
 	.num_shared_regs	= 1,
 	.ops			= &skx_uncore_pcu_ops,
-	.format_group		= &snbep_uncore_pcu_format_group,
+	.format_group		= &skx_uncore_pcu_format_group,
 };
 
 static struct intel_uncore_type *skx_msr_uncores[] = {

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [tip:perf/urgent] perf/x86/intel/uncore: Fix Skylake server CHA LLC_LOOKUP event umask
  2017-07-13 17:35 ` [PATCH 3/6] perf/x86/uncore: fix Skylake server CHA LLC_LOOKUP event umask kan.liang
@ 2017-07-24 10:17   ` tip-bot for Kan Liang
  0 siblings, 0 replies; 13+ messages in thread
From: tip-bot for Kan Liang @ 2017-07-24 10:17 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: eranian, tglx, torvalds, jolsa, linux-kernel, vincent.weaver,
	alexander.shishkin, peterz, hpa, acme, kan.liang, mingo

Commit-ID:  c3f02682a101b83424128915b14e60c156c03f02
Gitweb:     http://git.kernel.org/tip/c3f02682a101b83424128915b14e60c156c03f02
Author:     Kan Liang <kan.liang@intel.com>
AuthorDate: Thu, 13 Jul 2017 10:35:47 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Mon, 24 Jul 2017 11:13:18 +0200

perf/x86/intel/uncore: Fix Skylake server CHA LLC_LOOKUP event umask

Correct the umask for LLC_LOOKUP.LOCAL and LLC_LOOKUP.REMOTE events

Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1499967350-10385-4-git-send-email-kan.liang@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/events/intel/uncore_snbep.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index fbf8f6e..a30bf97 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3333,8 +3333,8 @@ static struct extra_reg skx_uncore_cha_extra_regs[] = {
 	SNBEP_CBO_EVENT_EXTRA_REG(0x0534, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x0934, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x1134, 0xffff, 0x4),
-	SNBEP_CBO_EVENT_EXTRA_REG(0x2134, 0xffff, 0x4),
-	SNBEP_CBO_EVENT_EXTRA_REG(0x8134, 0xffff, 0x4),
+	SNBEP_CBO_EVENT_EXTRA_REG(0x3134, 0xffff, 0x4),
+	SNBEP_CBO_EVENT_EXTRA_REG(0x9134, 0xffff, 0x4),
 };
 
 static u64 skx_cha_filter_mask(int fields)

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [tip:perf/urgent] perf/x86/intel/uncore: Remove invalid Skylake server CHA filter field
  2017-07-13 17:35 ` [PATCH 4/6] perf/x86/uncore: remove invalid Skylake server CHA filter field kan.liang
@ 2017-07-24 10:18   ` tip-bot for Kan Liang
  0 siblings, 0 replies; 13+ messages in thread
From: tip-bot for Kan Liang @ 2017-07-24 10:18 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: mingo, kan.liang, peterz, jolsa, torvalds, tglx, hpa, eranian,
	vincent.weaver, alexander.shishkin, linux-kernel, acme

Commit-ID:  9ad0fbd8fcd9e6815908c772f8d792a9d764449e
Gitweb:     http://git.kernel.org/tip/9ad0fbd8fcd9e6815908c772f8d792a9d764449e
Author:     Kan Liang <kan.liang@intel.com>
AuthorDate: Thu, 13 Jul 2017 10:35:48 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Mon, 24 Jul 2017 11:13:18 +0200

perf/x86/intel/uncore: Remove invalid Skylake server CHA filter field

There is no field c6 and link for CHA BOX FILTER.

Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1499967350-10385-5-git-send-email-kan.liang@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/events/intel/uncore_snbep.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index a30bf97..2401d06 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -351,7 +351,6 @@ DEFINE_UNCORE_FORMAT_ATTR(filter_cid, filter_cid, "config1:5");
 DEFINE_UNCORE_FORMAT_ATTR(filter_link, filter_link, "config1:5-8");
 DEFINE_UNCORE_FORMAT_ATTR(filter_link2, filter_link, "config1:6-8");
 DEFINE_UNCORE_FORMAT_ATTR(filter_link3, filter_link, "config1:12");
-DEFINE_UNCORE_FORMAT_ATTR(filter_link4, filter_link, "config1:9-12");
 DEFINE_UNCORE_FORMAT_ATTR(filter_nid, filter_nid, "config1:10-17");
 DEFINE_UNCORE_FORMAT_ATTR(filter_nid2, filter_nid, "config1:32-47");
 DEFINE_UNCORE_FORMAT_ATTR(filter_state, filter_state, "config1:18-22");
@@ -3302,7 +3301,6 @@ static struct attribute *skx_uncore_cha_formats_attr[] = {
 	&format_attr_inv.attr,
 	&format_attr_thresh8.attr,
 	&format_attr_filter_tid4.attr,
-	&format_attr_filter_link4.attr,
 	&format_attr_filter_state5.attr,
 	&format_attr_filter_rem.attr,
 	&format_attr_filter_loc.attr,
@@ -3312,7 +3310,6 @@ static struct attribute *skx_uncore_cha_formats_attr[] = {
 	&format_attr_filter_opc_0.attr,
 	&format_attr_filter_opc_1.attr,
 	&format_attr_filter_nc.attr,
-	&format_attr_filter_c6.attr,
 	&format_attr_filter_isoc.attr,
 	NULL,
 };

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [tip:perf/urgent] perf/x86/intel/uncore: Fix SKX CHA event extra regs
  2017-07-13 17:35 ` [PATCH 5/6] perf/x86/uncore: fix SKX CHA event extra regs kan.liang
@ 2017-07-24 10:18   ` tip-bot for Stephane Eranian
  0 siblings, 0 replies; 13+ messages in thread
From: tip-bot for Stephane Eranian @ 2017-07-24 10:18 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: alexander.shishkin, acme, peterz, vincent.weaver, torvalds,
	kan.liang, jolsa, hpa, mingo, linux-kernel, eranian, tglx

Commit-ID:  8aa7b7b4b4a601978672dce6604b9f5630b2eeb8
Gitweb:     http://git.kernel.org/tip/8aa7b7b4b4a601978672dce6604b9f5630b2eeb8
Author:     Stephane Eranian <eranian@google.com>
AuthorDate: Thu, 13 Jul 2017 10:35:49 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Mon, 24 Jul 2017 11:13:18 +0200

perf/x86/intel/uncore: Fix SKX CHA event extra regs

This patch adds two missing event extra regs for Skylake Server CHA PMU:

 - TOR_INSERTS
 - TOR_OCCUPANCY

Were missing support for all the filters, including opcode matchers.

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1499967350-10385-6-git-send-email-kan.liang@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/events/intel/uncore_snbep.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index 2401d06..f9f825b 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3332,6 +3332,8 @@ static struct extra_reg skx_uncore_cha_extra_regs[] = {
 	SNBEP_CBO_EVENT_EXTRA_REG(0x1134, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x3134, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x9134, 0xffff, 0x4),
+	SNBEP_CBO_EVENT_EXTRA_REG(0x35, 0xff, 0x8),
+	SNBEP_CBO_EVENT_EXTRA_REG(0x36, 0xff, 0x8),
 };
 
 static u64 skx_cha_filter_mask(int fields)
@@ -3344,6 +3346,17 @@ static u64 skx_cha_filter_mask(int fields)
 		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_LINK;
 	if (fields & 0x4)
 		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_STATE;
+	if (fields & 0x8) {
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_REM;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_LOC;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_ALL_OPC;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_NM;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_NOT_NM;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_OPC0;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_OPC1;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_NC;
+		mask |= SKX_CHA_MSR_PMON_BOX_FILTER_ISOC;
+	}
 	return mask;
 }
 

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [tip:perf/urgent] perf/x86/intel/uncore: Fix missing marker for skx_uncore_cha_extra_regs
  2017-07-13 17:35 ` [PATCH 6/6] perf/x86/uncore: fix missing marker for skx_uncore_cha_extra_regs kan.liang
@ 2017-07-24 10:18   ` tip-bot for Stephane Eranian
  0 siblings, 0 replies; 13+ messages in thread
From: tip-bot for Stephane Eranian @ 2017-07-24 10:18 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, tglx, eranian, jolsa, mingo, acme,
	vincent.weaver, kan.liang, peterz, alexander.shishkin, torvalds

Commit-ID:  ba883b4abc9cd837441b01eb9cf8d9196181294d
Gitweb:     http://git.kernel.org/tip/ba883b4abc9cd837441b01eb9cf8d9196181294d
Author:     Stephane Eranian <eranian@google.com>
AuthorDate: Thu, 13 Jul 2017 10:35:50 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Mon, 24 Jul 2017 11:13:18 +0200

perf/x86/intel/uncore: Fix missing marker for skx_uncore_cha_extra_regs

This skx_uncore_cha_extra_regs array was missing an end-marker.

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1499967350-10385-7-git-send-email-kan.liang@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/events/intel/uncore_snbep.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index f9f825b..4f91276 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3334,6 +3334,7 @@ static struct extra_reg skx_uncore_cha_extra_regs[] = {
 	SNBEP_CBO_EVENT_EXTRA_REG(0x9134, 0xffff, 0x4),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x35, 0xff, 0x8),
 	SNBEP_CBO_EVENT_EXTRA_REG(0x36, 0xff, 0x8),
+	EVENT_EXTRA_END
 };
 
 static u64 skx_cha_filter_mask(int fields)

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-07-24 10:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-13 17:35 [PATCH 0/6] several fixes for SKX uncore kan.liang
2017-07-13 17:35 ` [PATCH 1/6] perf/x86/uncore: fix Skylake UPI PMU event masks kan.liang
2017-07-24 10:16   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Stephane Eranian
2017-07-13 17:35 ` [PATCH 2/6] perf/x86/uncore: fix Skylake server PCU PMU event format kan.liang
2017-07-24 10:17   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Kan Liang
2017-07-13 17:35 ` [PATCH 3/6] perf/x86/uncore: fix Skylake server CHA LLC_LOOKUP event umask kan.liang
2017-07-24 10:17   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Kan Liang
2017-07-13 17:35 ` [PATCH 4/6] perf/x86/uncore: remove invalid Skylake server CHA filter field kan.liang
2017-07-24 10:18   ` [tip:perf/urgent] perf/x86/intel/uncore: Remove " tip-bot for Kan Liang
2017-07-13 17:35 ` [PATCH 5/6] perf/x86/uncore: fix SKX CHA event extra regs kan.liang
2017-07-24 10:18   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Stephane Eranian
2017-07-13 17:35 ` [PATCH 6/6] perf/x86/uncore: fix missing marker for skx_uncore_cha_extra_regs kan.liang
2017-07-24 10:18   ` [tip:perf/urgent] perf/x86/intel/uncore: Fix " tip-bot for Stephane Eranian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox