* [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform
@ 2016-05-06 8:59 hchrzani
2016-05-06 9:54 ` Thomas Gleixner
0 siblings, 1 reply; 7+ messages in thread
From: hchrzani @ 2016-05-06 8:59 UTC (permalink / raw)
To: hubert.chrzaniuk, lukasz.anaczkowski, tglx, mingo, hpa, x86,
peterz, kan.liang, vthakkar1994, bp, harish.chegondi, izumi.taku,
linux-kernel
Cc: Lawrence F Meadows
CHA events in Knights Landing platform require programming filter registers properly.
Before change, code lacked mandatory bitset operations for reserved bits.
As a result some events were not counted.
Fixes: 77af003 ('perf/x86/intel/uncore: Add Knights Landing uncore PMU support')
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Signed-off-by: Lawrence F Meadows <lawrence.f.meadows@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 ab2bcaa..47d7216 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -1902,6 +1902,7 @@ static int knl_cha_hw_config(struct intel_uncore_box *box,
reg1->reg = HSWEP_C0_MSR_PMON_BOX_FILTER0 +
KNL_CHA_MSR_OFFSET * box->pmu->pmu_idx;
reg1->config = event->attr.config1 & knl_cha_filter_mask(idx);
+ reg1->config |= 0x23ull << 32;
reg1->idx = idx;
}
return 0;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform
2016-05-06 8:59 [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform hchrzani
@ 2016-05-06 9:54 ` Thomas Gleixner
2016-05-06 13:20 ` hchrzani
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Gleixner @ 2016-05-06 9:54 UTC (permalink / raw)
To: hchrzani
Cc: lukasz.anaczkowski, mingo, hpa, x86, peterz, kan.liang,
vthakkar1994, bp, harish.chegondi, izumi.taku, linux-kernel,
Lawrence F Meadows
On Fri, 6 May 2016, hchrzani wrote:
> CHA events in Knights Landing platform require programming filter registers properly.
> Before change, code lacked mandatory bitset operations for reserved bits.
> As a result some events were not counted.
>
> Fixes: 77af003 ('perf/x86/intel/uncore: Add Knights Landing uncore PMU support')
> Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
> Signed-off-by: Lawrence F Meadows <lawrence.f.meadows@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 ab2bcaa..47d7216 100644
> --- a/arch/x86/events/intel/uncore_snbep.c
> +++ b/arch/x86/events/intel/uncore_snbep.c
> @@ -1902,6 +1902,7 @@ static int knl_cha_hw_config(struct intel_uncore_box *box,
> reg1->reg = HSWEP_C0_MSR_PMON_BOX_FILTER0 +
> KNL_CHA_MSR_OFFSET * box->pmu->pmu_idx;
> reg1->config = event->attr.config1 & knl_cha_filter_mask(idx);
> + reg1->config |= 0x23ull << 32;
Please use proper defines and not some magic hex constants.
Thanks,
tglx
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform
2016-05-06 9:54 ` Thomas Gleixner
@ 2016-05-06 13:20 ` hchrzani
2016-05-07 5:47 ` Ingo Molnar
0 siblings, 1 reply; 7+ messages in thread
From: hchrzani @ 2016-05-06 13:20 UTC (permalink / raw)
To: lukasz.anaczkowski, tglx, mingo, hpa, x86, peterz, kan.liang,
vthakkar1994, bp, harish.chegondi, izumi.taku, linux-kernel
Cc: hchrzani, Lawrence F Meadows
CHA events in Knights Landing platform require programming filter registers properly.
Remote node, local node and NonNearMemCachable bits should be set to 1 at all times.
Fixes: 77af003 ('perf/x86/intel/uncore: Add Knights Landing uncore PMU support')
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Signed-off-by: Lawrence F Meadows <lawrence.f.meadows@intel.com>
---
arch/x86/events/intel/uncore_snbep.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index ab2bcaa..4b9e294 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -219,6 +219,9 @@
#define KNL_CHA_MSR_PMON_BOX_FILTER_TID 0x1ff
#define KNL_CHA_MSR_PMON_BOX_FILTER_STATE (7 << 18)
#define KNL_CHA_MSR_PMON_BOX_FILTER_OP (0xfffffe2aULL << 32)
+#define KNL_CHA_MSR_PMON_BOX_FILER_REMOTE_NODE (0x1ULL << 32)
+#define KNL_CHA_MSR_PMON_BOX_FILTER_LOCAL_NODE (0x1ULL << 33)
+#define KNL_CHA_MSR_PMON_BOX_FILTER_NNC (0x1ULL << 37)
/* KNL EDC/MC UCLK */
#define KNL_UCLK_MSR_PMON_CTR0_LOW 0x400
@@ -1902,6 +1905,10 @@ static int knl_cha_hw_config(struct intel_uncore_box *box,
reg1->reg = HSWEP_C0_MSR_PMON_BOX_FILTER0 +
KNL_CHA_MSR_OFFSET * box->pmu->pmu_idx;
reg1->config = event->attr.config1 & knl_cha_filter_mask(idx);
+
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILER_REMOTE_NODE;
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_LOCAL_NODE;
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_NNC;
reg1->idx = idx;
}
return 0;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform
2016-05-06 13:20 ` hchrzani
@ 2016-05-07 5:47 ` Ingo Molnar
2016-05-09 7:36 ` [PATCH v3] perf/x86/intel/uncore: Fix CHA registers configuration Hubert Chrzaniuk
0 siblings, 1 reply; 7+ messages in thread
From: Ingo Molnar @ 2016-05-07 5:47 UTC (permalink / raw)
To: hchrzani
Cc: lukasz.anaczkowski, tglx, mingo, hpa, x86, peterz, kan.liang,
vthakkar1994, bp, harish.chegondi, izumi.taku, linux-kernel,
Lawrence F Meadows
* hchrzani <hubert.chrzaniuk@intel.com> wrote:
> CHA events in Knights Landing platform require programming filter registers properly.
> Remote node, local node and NonNearMemCachable bits should be set to 1 at all times.
>
> Fixes: 77af003 ('perf/x86/intel/uncore: Add Knights Landing uncore PMU support')
> Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
> Signed-off-by: Lawrence F Meadows <lawrence.f.meadows@intel.com>
> ---
> arch/x86/events/intel/uncore_snbep.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
> index ab2bcaa..4b9e294 100644
> --- a/arch/x86/events/intel/uncore_snbep.c
> +++ b/arch/x86/events/intel/uncore_snbep.c
> @@ -219,6 +219,9 @@
> #define KNL_CHA_MSR_PMON_BOX_FILTER_TID 0x1ff
> #define KNL_CHA_MSR_PMON_BOX_FILTER_STATE (7 << 18)
> #define KNL_CHA_MSR_PMON_BOX_FILTER_OP (0xfffffe2aULL << 32)
> +#define KNL_CHA_MSR_PMON_BOX_FILER_REMOTE_NODE (0x1ULL << 32)
> +#define KNL_CHA_MSR_PMON_BOX_FILTER_LOCAL_NODE (0x1ULL << 33)
> +#define KNL_CHA_MSR_PMON_BOX_FILTER_NNC (0x1ULL << 37)
>
> /* KNL EDC/MC UCLK */
> #define KNL_UCLK_MSR_PMON_CTR0_LOW 0x400
> @@ -1902,6 +1905,10 @@ static int knl_cha_hw_config(struct intel_uncore_box *box,
> reg1->reg = HSWEP_C0_MSR_PMON_BOX_FILTER0 +
> KNL_CHA_MSR_OFFSET * box->pmu->pmu_idx;
> reg1->config = event->attr.config1 & knl_cha_filter_mask(idx);
> +
> + reg1->config |= KNL_CHA_MSR_PMON_BOX_FILER_REMOTE_NODE;
> + reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_LOCAL_NODE;
> + reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_NNC;
s/FILER/FILTER?
Thanks,
Ingo
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3] perf/x86/intel/uncore: Fix CHA registers configuration
2016-05-07 5:47 ` Ingo Molnar
@ 2016-05-09 7:36 ` Hubert Chrzaniuk
2016-05-09 7:36 ` [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform Hubert Chrzaniuk
0 siblings, 1 reply; 7+ messages in thread
From: Hubert Chrzaniuk @ 2016-05-09 7:36 UTC (permalink / raw)
To: lukasz.anaczkowski, tglx, mingo, hpa, x86, peterz, kan.liang,
vthakkar1994, bp, harish.chegondi, izumi.taku, linux-kernel
> s/FILER/FILTER?
executed,thanks
hopefully no silly mistakes anymore
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform
2016-05-09 7:36 ` [PATCH v3] perf/x86/intel/uncore: Fix CHA registers configuration Hubert Chrzaniuk
@ 2016-05-09 7:36 ` Hubert Chrzaniuk
2016-05-12 10:33 ` [tip:perf/core] " tip-bot for hchrzani
0 siblings, 1 reply; 7+ messages in thread
From: Hubert Chrzaniuk @ 2016-05-09 7:36 UTC (permalink / raw)
To: lukasz.anaczkowski, tglx, mingo, hpa, x86, peterz, kan.liang,
vthakkar1994, bp, harish.chegondi, izumi.taku, linux-kernel
Cc: hchrzani, Lawrence F Meadows
From: hchrzani <hubert.chrzaniuk@intel.com>
CHA events in Knights Landing platform require programming filter registers properly.
Remote node, local node and NonNearMemCachable bits should be set to 1 at all times.
Fixes: 77af003 ('perf/x86/intel/uncore: Add Knights Landing uncore PMU support')
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Signed-off-by: Lawrence F Meadows <lawrence.f.meadows@intel.com>
---
arch/x86/events/intel/uncore_snbep.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index ab2bcaa..b262586 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -219,6 +219,9 @@
#define KNL_CHA_MSR_PMON_BOX_FILTER_TID 0x1ff
#define KNL_CHA_MSR_PMON_BOX_FILTER_STATE (7 << 18)
#define KNL_CHA_MSR_PMON_BOX_FILTER_OP (0xfffffe2aULL << 32)
+#define KNL_CHA_MSR_PMON_BOX_FILTER_REMOTE_NODE (0x1ULL << 32)
+#define KNL_CHA_MSR_PMON_BOX_FILTER_LOCAL_NODE (0x1ULL << 33)
+#define KNL_CHA_MSR_PMON_BOX_FILTER_NNC (0x1ULL << 37)
/* KNL EDC/MC UCLK */
#define KNL_UCLK_MSR_PMON_CTR0_LOW 0x400
@@ -1902,6 +1905,10 @@ static int knl_cha_hw_config(struct intel_uncore_box *box,
reg1->reg = HSWEP_C0_MSR_PMON_BOX_FILTER0 +
KNL_CHA_MSR_OFFSET * box->pmu->pmu_idx;
reg1->config = event->attr.config1 & knl_cha_filter_mask(idx);
+
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_REMOTE_NODE;
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_LOCAL_NODE;
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_NNC;
reg1->idx = idx;
}
return 0;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [tip:perf/core] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform
2016-05-09 7:36 ` [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform Hubert Chrzaniuk
@ 2016-05-12 10:33 ` tip-bot for hchrzani
0 siblings, 0 replies; 7+ messages in thread
From: tip-bot for hchrzani @ 2016-05-12 10:33 UTC (permalink / raw)
To: linux-tip-commits
Cc: lawrence.f.meadows, mingo, eranian, hubert.chrzaniuk,
linux-kernel, alexander.shishkin, tglx, torvalds, jolsa,
vincent.weaver, hpa, acme, peterz
Commit-ID: ec336c879c3b422d2876085be1cbb110e44dc0de
Gitweb: http://git.kernel.org/tip/ec336c879c3b422d2876085be1cbb110e44dc0de
Author: hchrzani <hubert.chrzaniuk@intel.com>
AuthorDate: Mon, 9 May 2016 09:36:59 +0200
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 12 May 2016 10:14:30 +0200
perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform
CHA events in Knights Landing platform require programming filter registers properly.
Remote node, local node and NonNearMemCachable bits should be set to 1 at all times.
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Signed-off-by: Lawrence F Meadows <lawrence.f.meadows@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <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: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Cc: bp@suse.de
Cc: harish.chegondi@intel.com
Cc: hpa@zytor.com
Cc: izumi.taku@jp.fujitsu.com
Cc: kan.liang@intel.com
Cc: lukasz.anaczkowski@intel.com
Cc: vthakkar1994@gmail.com
Fixes: 77af0037de0a ('perf/x86/intel/uncore: Add Knights Landing uncore PMU support')
Link: http://lkml.kernel.org/r/1462779419-17115-2-git-send-email-hubert.chrzaniuk@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/events/intel/uncore_snbep.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index ab2bcaa..b262586 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -219,6 +219,9 @@
#define KNL_CHA_MSR_PMON_BOX_FILTER_TID 0x1ff
#define KNL_CHA_MSR_PMON_BOX_FILTER_STATE (7 << 18)
#define KNL_CHA_MSR_PMON_BOX_FILTER_OP (0xfffffe2aULL << 32)
+#define KNL_CHA_MSR_PMON_BOX_FILTER_REMOTE_NODE (0x1ULL << 32)
+#define KNL_CHA_MSR_PMON_BOX_FILTER_LOCAL_NODE (0x1ULL << 33)
+#define KNL_CHA_MSR_PMON_BOX_FILTER_NNC (0x1ULL << 37)
/* KNL EDC/MC UCLK */
#define KNL_UCLK_MSR_PMON_CTR0_LOW 0x400
@@ -1902,6 +1905,10 @@ static int knl_cha_hw_config(struct intel_uncore_box *box,
reg1->reg = HSWEP_C0_MSR_PMON_BOX_FILTER0 +
KNL_CHA_MSR_OFFSET * box->pmu->pmu_idx;
reg1->config = event->attr.config1 & knl_cha_filter_mask(idx);
+
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_REMOTE_NODE;
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_LOCAL_NODE;
+ reg1->config |= KNL_CHA_MSR_PMON_BOX_FILTER_NNC;
reg1->idx = idx;
}
return 0;
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-05-12 10:34 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-06 8:59 [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform hchrzani
2016-05-06 9:54 ` Thomas Gleixner
2016-05-06 13:20 ` hchrzani
2016-05-07 5:47 ` Ingo Molnar
2016-05-09 7:36 ` [PATCH v3] perf/x86/intel/uncore: Fix CHA registers configuration Hubert Chrzaniuk
2016-05-09 7:36 ` [PATCH] perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform Hubert Chrzaniuk
2016-05-12 10:33 ` [tip:perf/core] " tip-bot for hchrzani
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox