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
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
>
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
>>
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.
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),