perf/x86/intel/uncore: correct uncore num_counters
Subsystems (2)
PATCH 1/1 perf/x86/intel/uncore: correct uncore num_counters
From: Kan Liang <[email protected]>
Some uncore boxes' num_counters for Haswell server and Broadwell server are not correct. This patch make them consistent with the uncore document.
Reported-by Lukasz Odzioba <[email protected]>
Signed-off-by Kan Liang <[email protected]>
--- arch/x86/events/intel/uncore_snbep.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
arch/x86/events/intel/uncore_snbep.c +5 -5
@@ -2626,7 +2626,7 @@ void hswep_uncore_cpu_init(void)static struct intel_uncore_type hswep_uncore_ha = { .name ="ha" , - .num_counters =5 , + .num_counters =4 , .num_boxes =2 , .perf_ctr_bits =48 ,SNBEP_UNCORE_PCI_COMMON_INIT (),
@@ -2645,7 +2645,7 @@ static struct uncore_event_desc hswep_uncore_imc_events[] = {static struct intel_uncore_type hswep_uncore_imc = { .name ="imc" , - .num_counters =5 , + .num_counters =4 , .num_boxes =8 , .perf_ctr_bits =48 , .fixed_ctr_bits =48 ,
@@ -2691,7 +2691,7 @@ static struct intel_uncore_type hswep_uncore_irp = {static struct intel_uncore_type hswep_uncore_qpi = { .name ="qpi" , - .num_counters =5 , + .num_counters =4 , .num_boxes =3 , .perf_ctr_bits =48 , .perf_ctr =SNBEP_PCI_PMON_CTR0 ,
@@ -2773,7 +2773,7 @@ static struct event_constraint hswep_uncore_r3qpi_constraints[] = {static struct intel_uncore_type hswep_uncore_r3qpi = { .name ="r3qpi" , - .num_counters =4 , + .num_counters =3 , .num_boxes =3 , .perf_ctr_bits =44 , .constraints = hswep_uncore_r3qpi_constraints,
@@ -2972,7 +2972,7 @@ static struct intel_uncore_type bdx_uncore_ha = {static struct intel_uncore_type bdx_uncore_imc = { .name ="imc" , - .num_counters =5 , + .num_counters =4 , .num_boxes =8 , .perf_ctr_bits =48 , .fixed_ctr_bits =48 ,
Signature · 1 line
2.5.5
Quoted 53 lines · * [email protected] <[email protected]> wrote:
From: Kan Liang <[email protected]>
Some uncore boxes'
num_countersfor Haswell server and Broadwell server are not correct. This patch make them consistent with the uncore document.Reported-by Lukasz Odzioba <[email protected]>Signed-off-by Kan Liang <[email protected]>--- arch/x86/events/intel/uncore_snbep.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)arch/x86/events/intel/uncore_snbep.c +4
-4@@ -2626,7 +2626,7 @@ void hswep_uncore_cpu_init(void)static struct intel_uncore_type hswep_uncore_ha = { .name ="ha" , - .num_counters =5 , + .num_counters =4 , .num_boxes =2 , .perf_ctr_bits =48 ,SNBEP_UNCORE_PCI_COMMON_INIT (),@@ -2645,7 +2645,7 @@ static struct uncore_event_desc hswep_uncore_imc_events[] = {static struct intel_uncore_type hswep_uncore_imc = { .name ="imc" , - .num_counters =5 , + .num_counters =4 , .num_boxes =8 , .perf_ctr_bits =48 , .fixed_ctr_bits =48 ,@@ -2691,7 +2691,7 @@ static struct intel_uncore_type hswep_uncore_irp = {static struct intel_uncore_type hswep_uncore_qpi = { .name ="qpi" , - .num_counters =5 , + .num_counters =4 , .num_boxes =3 , .perf_ctr_bits =48 , .perf_ctr =SNBEP_PCI_PMON_CTR0 ,@@ -2773,7 +2773,7 @@ static struct event_constraint hswep_uncore_r3qpi_constraints[] = {static struct intel_uncore_type hswep_uncore_r3qpi = { .name ="r3qpi" , - .num_counters =4 , + .num_counters =3 , .num_boxes =3 , .perf_ctr_bits =44 , .constraints = hswep_uncore_r3qpi_constraints,
arch/x86/events/intel/uncore_snbep.c static struct intel_uncore_type bdx_uncore_ha = { · line 2978
Quoted 8 lines
arch/x86/events/intel/uncore_snbep.c +1
-1@@ -2972,7 +2972,7 @@ static struct intel_uncore_type bdx_uncore_ha = {static struct intel_uncore_type bdx_uncore_imc = { .name ="imc" , - .num_counters =5 , + .num_counters =4 , .num_boxes =8 , .perf_ctr_bits =48 , .fixed_ctr_bits =48 ,
So this changelog really sucks: what was the effect of the bug?
Did we report bogus (or zero) counts for those non-existent counters - or did the code actually crash in a visible way?
Thanks,
Ingo