2014-06-30 14:46:30

by Stephane Eranian

[permalink] [raw]
Subject: [PATCH] perf/x86/uncore: fix SNB-EP/IVT Cbox filter mappings


This patch fixes the SNB-EP and IVT Cbox filter mapping
table. The table controls which filters are supported by
which events. There were several mistakes in those tables
causing some filters to be ignored, such as NID on
TOR_INSERTS.

Signed-off-by: Stephane Eranian <[email protected]>
---
arch/x86/kernel/cpu/perf_event_intel_uncore.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
index 65bbbea..ae6552a 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
@@ -550,16 +550,16 @@ static struct extra_reg snbep_uncore_cbox_extra_regs[] = {
SNBEP_CBO_EVENT_EXTRA_REG(0x4134, 0xffff, 0x6),
SNBEP_CBO_EVENT_EXTRA_REG(0x0135, 0xffff, 0x8),
SNBEP_CBO_EVENT_EXTRA_REG(0x0335, 0xffff, 0x8),
- SNBEP_CBO_EVENT_EXTRA_REG(0x4135, 0xffff, 0xc),
- SNBEP_CBO_EVENT_EXTRA_REG(0x4335, 0xffff, 0xc),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x4135, 0xffff, 0xa),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x4335, 0xffff, 0xa),
SNBEP_CBO_EVENT_EXTRA_REG(0x4435, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x4835, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x4a35, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x5035, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x0136, 0xffff, 0x8),
SNBEP_CBO_EVENT_EXTRA_REG(0x0336, 0xffff, 0x8),
- SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0xc),
- SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0xc),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0xa),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0xa),
SNBEP_CBO_EVENT_EXTRA_REG(0x4436, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x4836, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x4a36, 0xffff, 0x2),
@@ -1222,6 +1222,7 @@ static struct extra_reg ivt_uncore_cbox_extra_regs[] = {
SNBEP_CBO_EVENT_EXTRA_REG(SNBEP_CBO_PMON_CTL_TID_EN,
SNBEP_CBO_PMON_CTL_TID_EN, 0x1),
SNBEP_CBO_EVENT_EXTRA_REG(0x1031, 0x10ff, 0x2),
+
SNBEP_CBO_EVENT_EXTRA_REG(0x1134, 0xffff, 0x4),
SNBEP_CBO_EVENT_EXTRA_REG(0x4134, 0xffff, 0xc),
SNBEP_CBO_EVENT_EXTRA_REG(0x5134, 0xffff, 0xc),
@@ -1245,7 +1246,7 @@ static struct extra_reg ivt_uncore_cbox_extra_regs[] = {
SNBEP_CBO_EVENT_EXTRA_REG(0x8335, 0xffff, 0x10),
SNBEP_CBO_EVENT_EXTRA_REG(0x0136, 0xffff, 0x10),
SNBEP_CBO_EVENT_EXTRA_REG(0x0336, 0xffff, 0x10),
- SNBEP_CBO_EVENT_EXTRA_REG(0x2336, 0xffff, 0x10),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x2136, 0xffff, 0x10),
SNBEP_CBO_EVENT_EXTRA_REG(0x2336, 0xffff, 0x10),
SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0x18),
SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0x18),
--
1.8.3.2


2014-07-10 19:16:32

by Stephane Eranian

[permalink] [raw]
Subject: Re: [PATCH] perf/x86/uncore: fix SNB-EP/IVT Cbox filter mappings

On Mon, Jun 30, 2014 at 4:46 PM, Stephane Eranian <[email protected]> wrote:
>
> This patch fixes the SNB-EP and IVT Cbox filter mapping
> table. The table controls which filters are supported by
> which events. There were several mistakes in those tables
> causing some filters to be ignored, such as NID on
> TOR_INSERTS.
>
> Signed-off-by: Stephane Eranian <[email protected]>

Any comment on this patch?

> ---
> arch/x86/kernel/cpu/perf_event_intel_uncore.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> index 65bbbea..ae6552a 100644
> --- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> @@ -550,16 +550,16 @@ static struct extra_reg snbep_uncore_cbox_extra_regs[] = {
> SNBEP_CBO_EVENT_EXTRA_REG(0x4134, 0xffff, 0x6),
> SNBEP_CBO_EVENT_EXTRA_REG(0x0135, 0xffff, 0x8),
> SNBEP_CBO_EVENT_EXTRA_REG(0x0335, 0xffff, 0x8),
> - SNBEP_CBO_EVENT_EXTRA_REG(0x4135, 0xffff, 0xc),
> - SNBEP_CBO_EVENT_EXTRA_REG(0x4335, 0xffff, 0xc),
> + SNBEP_CBO_EVENT_EXTRA_REG(0x4135, 0xffff, 0xa),
> + SNBEP_CBO_EVENT_EXTRA_REG(0x4335, 0xffff, 0xa),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4435, 0xffff, 0x2),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4835, 0xffff, 0x2),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4a35, 0xffff, 0x2),
> SNBEP_CBO_EVENT_EXTRA_REG(0x5035, 0xffff, 0x2),
> SNBEP_CBO_EVENT_EXTRA_REG(0x0136, 0xffff, 0x8),
> SNBEP_CBO_EVENT_EXTRA_REG(0x0336, 0xffff, 0x8),
> - SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0xc),
> - SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0xc),
> + SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0xa),
> + SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0xa),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4436, 0xffff, 0x2),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4836, 0xffff, 0x2),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4a36, 0xffff, 0x2),
> @@ -1222,6 +1222,7 @@ static struct extra_reg ivt_uncore_cbox_extra_regs[] = {
> SNBEP_CBO_EVENT_EXTRA_REG(SNBEP_CBO_PMON_CTL_TID_EN,
> SNBEP_CBO_PMON_CTL_TID_EN, 0x1),
> SNBEP_CBO_EVENT_EXTRA_REG(0x1031, 0x10ff, 0x2),
> +
> SNBEP_CBO_EVENT_EXTRA_REG(0x1134, 0xffff, 0x4),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4134, 0xffff, 0xc),
> SNBEP_CBO_EVENT_EXTRA_REG(0x5134, 0xffff, 0xc),
> @@ -1245,7 +1246,7 @@ static struct extra_reg ivt_uncore_cbox_extra_regs[] = {
> SNBEP_CBO_EVENT_EXTRA_REG(0x8335, 0xffff, 0x10),
> SNBEP_CBO_EVENT_EXTRA_REG(0x0136, 0xffff, 0x10),
> SNBEP_CBO_EVENT_EXTRA_REG(0x0336, 0xffff, 0x10),
> - SNBEP_CBO_EVENT_EXTRA_REG(0x2336, 0xffff, 0x10),
> + SNBEP_CBO_EVENT_EXTRA_REG(0x2136, 0xffff, 0x10),
> SNBEP_CBO_EVENT_EXTRA_REG(0x2336, 0xffff, 0x10),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0x18),
> SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0x18),
> --
> 1.8.3.2
>

2014-07-11 05:39:27

by Yan, Zheng

[permalink] [raw]
Subject: Re: [PATCH] perf/x86/uncore: fix SNB-EP/IVT Cbox filter mappings

On 07/11/2014 03:16 AM, Stephane Eranian wrote:
> On Mon, Jun 30, 2014 at 4:46 PM, Stephane Eranian <[email protected]> wrote:
>>
>> This patch fixes the SNB-EP and IVT Cbox filter mapping
>> table. The table controls which filters are supported by
>> which events. There were several mistakes in those tables
>> causing some filters to be ignored, such as NID on
>> TOR_INSERTS.
>>
>> Signed-off-by: Stephane Eranian <[email protected]>
>
> Any comment on this patch?

sorry for the delay

Reviewed-by: Yan, Zheng <[email protected]>
>
>> ---
>> arch/x86/kernel/cpu/perf_event_intel_uncore.c | 11 ++++++-----
>> 1 file changed, 6 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
>> index 65bbbea..ae6552a 100644
>> --- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c
>> +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
>> @@ -550,16 +550,16 @@ static struct extra_reg snbep_uncore_cbox_extra_regs[] = {
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4134, 0xffff, 0x6),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x0135, 0xffff, 0x8),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x0335, 0xffff, 0x8),
>> - SNBEP_CBO_EVENT_EXTRA_REG(0x4135, 0xffff, 0xc),
>> - SNBEP_CBO_EVENT_EXTRA_REG(0x4335, 0xffff, 0xc),
>> + SNBEP_CBO_EVENT_EXTRA_REG(0x4135, 0xffff, 0xa),
>> + SNBEP_CBO_EVENT_EXTRA_REG(0x4335, 0xffff, 0xa),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4435, 0xffff, 0x2),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4835, 0xffff, 0x2),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4a35, 0xffff, 0x2),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x5035, 0xffff, 0x2),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x0136, 0xffff, 0x8),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x0336, 0xffff, 0x8),
>> - SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0xc),
>> - SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0xc),
>> + SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0xa),
>> + SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0xa),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4436, 0xffff, 0x2),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4836, 0xffff, 0x2),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4a36, 0xffff, 0x2),
>> @@ -1222,6 +1222,7 @@ static struct extra_reg ivt_uncore_cbox_extra_regs[] = {
>> SNBEP_CBO_EVENT_EXTRA_REG(SNBEP_CBO_PMON_CTL_TID_EN,
>> SNBEP_CBO_PMON_CTL_TID_EN, 0x1),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x1031, 0x10ff, 0x2),
>> +
>> SNBEP_CBO_EVENT_EXTRA_REG(0x1134, 0xffff, 0x4),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4134, 0xffff, 0xc),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x5134, 0xffff, 0xc),
>> @@ -1245,7 +1246,7 @@ static struct extra_reg ivt_uncore_cbox_extra_regs[] = {
>> SNBEP_CBO_EVENT_EXTRA_REG(0x8335, 0xffff, 0x10),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x0136, 0xffff, 0x10),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x0336, 0xffff, 0x10),
>> - SNBEP_CBO_EVENT_EXTRA_REG(0x2336, 0xffff, 0x10),
>> + SNBEP_CBO_EVENT_EXTRA_REG(0x2136, 0xffff, 0x10),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x2336, 0xffff, 0x10),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0x18),
>> SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0x18),
>> --
>> 1.8.3.2
>>

2014-07-11 08:23:10

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH] perf/x86/uncore: fix SNB-EP/IVT Cbox filter mappings

On Thu, Jul 10, 2014 at 09:16:30PM +0200, Stephane Eranian wrote:
> On Mon, Jun 30, 2014 at 4:46 PM, Stephane Eranian <[email protected]> wrote:
> >
> > This patch fixes the SNB-EP and IVT Cbox filter mapping
> > table. The table controls which filters are supported by
> > which events. There were several mistakes in those tables
> > causing some filters to be ignored, such as NID on
> > TOR_INSERTS.
> >
> > Signed-off-by: Stephane Eranian <[email protected]>
>
> Any comment on this patch?

I queued, it. I'll try and get it into tip over the weekend or so.

Subject: [tip:perf/urgent] perf/x86/intel/uncore: Fix SNB-EP/ IVT Cbox filter mappings

Commit-ID: 7711fe4fc2606712125cff1a55ce00df2ae0f1fb
Gitweb: http://git.kernel.org/tip/7711fe4fc2606712125cff1a55ce00df2ae0f1fb
Author: Stephane Eranian <[email protected]>
AuthorDate: Mon, 30 Jun 2014 16:46:24 +0200
Committer: Ingo Molnar <[email protected]>
CommitDate: Wed, 16 Jul 2014 13:18:41 +0200

perf/x86/intel/uncore: Fix SNB-EP/IVT Cbox filter mappings

This patch fixes the SNB-EP and IVT Cbox filter mapping
table. The table controls which filters are supported by
which events. There were several mistakes in those tables
causing some filters to be ignored, such as NID on
TOR_INSERTS.

Signed-off-by: Stephane Eranian <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Linus Torvalds <[email protected]>
Link: http://lkml.kernel.org/r/20140630144624.GA2604@quad
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/kernel/cpu/perf_event_intel_uncore.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
index 65bbbea..ae6552a 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
@@ -550,16 +550,16 @@ static struct extra_reg snbep_uncore_cbox_extra_regs[] = {
SNBEP_CBO_EVENT_EXTRA_REG(0x4134, 0xffff, 0x6),
SNBEP_CBO_EVENT_EXTRA_REG(0x0135, 0xffff, 0x8),
SNBEP_CBO_EVENT_EXTRA_REG(0x0335, 0xffff, 0x8),
- SNBEP_CBO_EVENT_EXTRA_REG(0x4135, 0xffff, 0xc),
- SNBEP_CBO_EVENT_EXTRA_REG(0x4335, 0xffff, 0xc),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x4135, 0xffff, 0xa),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x4335, 0xffff, 0xa),
SNBEP_CBO_EVENT_EXTRA_REG(0x4435, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x4835, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x4a35, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x5035, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x0136, 0xffff, 0x8),
SNBEP_CBO_EVENT_EXTRA_REG(0x0336, 0xffff, 0x8),
- SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0xc),
- SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0xc),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0xa),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0xa),
SNBEP_CBO_EVENT_EXTRA_REG(0x4436, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x4836, 0xffff, 0x2),
SNBEP_CBO_EVENT_EXTRA_REG(0x4a36, 0xffff, 0x2),
@@ -1222,6 +1222,7 @@ static struct extra_reg ivt_uncore_cbox_extra_regs[] = {
SNBEP_CBO_EVENT_EXTRA_REG(SNBEP_CBO_PMON_CTL_TID_EN,
SNBEP_CBO_PMON_CTL_TID_EN, 0x1),
SNBEP_CBO_EVENT_EXTRA_REG(0x1031, 0x10ff, 0x2),
+
SNBEP_CBO_EVENT_EXTRA_REG(0x1134, 0xffff, 0x4),
SNBEP_CBO_EVENT_EXTRA_REG(0x4134, 0xffff, 0xc),
SNBEP_CBO_EVENT_EXTRA_REG(0x5134, 0xffff, 0xc),
@@ -1245,7 +1246,7 @@ static struct extra_reg ivt_uncore_cbox_extra_regs[] = {
SNBEP_CBO_EVENT_EXTRA_REG(0x8335, 0xffff, 0x10),
SNBEP_CBO_EVENT_EXTRA_REG(0x0136, 0xffff, 0x10),
SNBEP_CBO_EVENT_EXTRA_REG(0x0336, 0xffff, 0x10),
- SNBEP_CBO_EVENT_EXTRA_REG(0x2336, 0xffff, 0x10),
+ SNBEP_CBO_EVENT_EXTRA_REG(0x2136, 0xffff, 0x10),
SNBEP_CBO_EVENT_EXTRA_REG(0x2336, 0xffff, 0x10),
SNBEP_CBO_EVENT_EXTRA_REG(0x4136, 0xffff, 0x18),
SNBEP_CBO_EVENT_EXTRA_REG(0x4336, 0xffff, 0x18),