LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [RESEND PATCH] perf/x86/intel/uncore: Fix invalid unit check
@ 2021-07-19 12:54 kan.liang
  2021-07-19 12:54 ` [RESEND PATCH] perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server kan.liang
  2021-08-11 13:03 ` [RESEND PATCH] perf/x86/intel/uncore: Fix invalid unit check Liang, Kan
  0 siblings, 2 replies; 4+ messages in thread
From: kan.liang @ 2021-07-19 12:54 UTC (permalink / raw)
  To: peterz, mingo, acme, linux-kernel
  Cc: gregkh, eranian, namhyung, ak, Kan Liang, stable

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

The uncore unit with the type ID 0 and the unit ID 0 is missed.

The table3 of the uncore unit maybe 0. The
uncore_discovery_invalid_unit() mistakenly treated it as an invalid
value.

Remove the !unit.table3 check.

Fixes: edae1f06c2cd ("perf/x86/intel/uncore: Parse uncore discovery tables")
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Cc: stable@vger.kernel.org
---

The patch was posted as a part of the "perf: Add Sapphire Rapids server
uncore support" patch set. But it doesn't depend on the other patches in
the patch set. The bugfix can be accepted and merged separately. 

https://lore.kernel.org/lkml/cb0d2d43-102a-994c-f777-e11d61c77bf5@linux.intel.com/

 arch/x86/events/intel/uncore_discovery.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/events/intel/uncore_discovery.h b/arch/x86/events/intel/uncore_discovery.h
index 1d65293..abfb1e8 100644
--- a/arch/x86/events/intel/uncore_discovery.h
+++ b/arch/x86/events/intel/uncore_discovery.h
@@ -30,7 +30,7 @@
 
 
 #define uncore_discovery_invalid_unit(unit)			\
-	(!unit.table1 || !unit.ctl || !unit.table3 ||	\
+	(!unit.table1 || !unit.ctl || \
 	 unit.table1 == -1ULL || unit.ctl == -1ULL ||	\
 	 unit.table3 == -1ULL)
 
-- 
2.7.4


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

* [RESEND PATCH] perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server
  2021-07-19 12:54 [RESEND PATCH] perf/x86/intel/uncore: Fix invalid unit check kan.liang
@ 2021-07-19 12:54 ` kan.liang
  2021-08-11 13:03   ` Liang, Kan
  2021-08-11 13:03 ` [RESEND PATCH] perf/x86/intel/uncore: Fix invalid unit check Liang, Kan
  1 sibling, 1 reply; 4+ messages in thread
From: kan.liang @ 2021-07-19 12:54 UTC (permalink / raw)
  To: peterz, mingo, acme, linux-kernel
  Cc: gregkh, eranian, namhyung, ak, Kan Liang, stable

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

There are three channels on a Ice Lake server, but only two channels
will ever be active. Current perf only enables two channels.

Support the extra IMC channel, which may be activated on some Ice Lake
machines. For a non-activated channel, the SW can still access it. The
write will be ignored by the HW. 0 is always returned for the reading.

Fixes: 2b3b76b5ec67 ("perf/x86/intel/uncore: Add Ice Lake server uncore support")
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Cc: stable@vger.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 9a178a9..72a4181 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -452,7 +452,7 @@
 #define ICX_M3UPI_PCI_PMON_BOX_CTL		0xa0
 
 /* ICX IMC */
-#define ICX_NUMBER_IMC_CHN			2
+#define ICX_NUMBER_IMC_CHN			3
 #define ICX_IMC_MEM_STRIDE			0x4
 
 /* SPR */
@@ -5458,7 +5458,7 @@ static struct intel_uncore_ops icx_uncore_mmio_ops = {
 static struct intel_uncore_type icx_uncore_imc = {
 	.name		= "imc",
 	.num_counters   = 4,
-	.num_boxes	= 8,
+	.num_boxes	= 12,
 	.perf_ctr_bits	= 48,
 	.fixed_ctr_bits	= 48,
 	.fixed_ctr	= SNR_IMC_MMIO_PMON_FIXED_CTR,
-- 
2.7.4


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

* Re: [RESEND PATCH] perf/x86/intel/uncore: Fix invalid unit check
  2021-07-19 12:54 [RESEND PATCH] perf/x86/intel/uncore: Fix invalid unit check kan.liang
  2021-07-19 12:54 ` [RESEND PATCH] perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server kan.liang
@ 2021-08-11 13:03 ` Liang, Kan
  1 sibling, 0 replies; 4+ messages in thread
From: Liang, Kan @ 2021-08-11 13:03 UTC (permalink / raw)
  To: peterz, mingo, acme, linux-kernel; +Cc: gregkh, eranian, namhyung, ak, stable

Hi Peter,

Could you please pick up the fix?
Please let me know if you have any comments/concerns.

Thanks,
Kan

On 7/19/2021 8:54 AM, kan.liang@linux.intel.com wrote:
> From: Kan Liang <kan.liang@linux.intel.com>
> 
> The uncore unit with the type ID 0 and the unit ID 0 is missed.
> 
> The table3 of the uncore unit maybe 0. The
> uncore_discovery_invalid_unit() mistakenly treated it as an invalid
> value.
> 
> Remove the !unit.table3 check.
> 
> Fixes: edae1f06c2cd ("perf/x86/intel/uncore: Parse uncore discovery tables")
> Reviewed-by: Andi Kleen <ak@linux.intel.com>
> Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
> Cc: stable@vger.kernel.org
> ---
> 
> The patch was posted as a part of the "perf: Add Sapphire Rapids server
> uncore support" patch set. But it doesn't depend on the other patches in
> the patch set. The bugfix can be accepted and merged separately.
> 
> https://lore.kernel.org/lkml/cb0d2d43-102a-994c-f777-e11d61c77bf5@linux.intel.com/
> 
>   arch/x86/events/intel/uncore_discovery.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/events/intel/uncore_discovery.h b/arch/x86/events/intel/uncore_discovery.h
> index 1d65293..abfb1e8 100644
> --- a/arch/x86/events/intel/uncore_discovery.h
> +++ b/arch/x86/events/intel/uncore_discovery.h
> @@ -30,7 +30,7 @@
>   
>   
>   #define uncore_discovery_invalid_unit(unit)			\
> -	(!unit.table1 || !unit.ctl || !unit.table3 ||	\
> +	(!unit.table1 || !unit.ctl || \
>   	 unit.table1 == -1ULL || unit.ctl == -1ULL ||	\
>   	 unit.table3 == -1ULL)
>   
> 

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

* Re: [RESEND PATCH] perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server
  2021-07-19 12:54 ` [RESEND PATCH] perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server kan.liang
@ 2021-08-11 13:03   ` Liang, Kan
  0 siblings, 0 replies; 4+ messages in thread
From: Liang, Kan @ 2021-08-11 13:03 UTC (permalink / raw)
  To: peterz, mingo, acme, linux-kernel; +Cc: gregkh, eranian, namhyung, ak, stable

Hi Peter,

Could you please pick up the fix?
Please let me know if you have any comments/concerns.

Thanks,
Kan

On 7/19/2021 8:54 AM, kan.liang@linux.intel.com wrote:
> From: Kan Liang <kan.liang@linux.intel.com>
> 
> There are three channels on a Ice Lake server, but only two channels
> will ever be active. Current perf only enables two channels.
> 
> Support the extra IMC channel, which may be activated on some Ice Lake
> machines. For a non-activated channel, the SW can still access it. The
> write will be ignored by the HW. 0 is always returned for the reading.
> 
> Fixes: 2b3b76b5ec67 ("perf/x86/intel/uncore: Add Ice Lake server uncore support")
> Reviewed-by: Andi Kleen <ak@linux.intel.com>
> Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
> Cc: stable@vger.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 9a178a9..72a4181 100644
> --- a/arch/x86/events/intel/uncore_snbep.c
> +++ b/arch/x86/events/intel/uncore_snbep.c
> @@ -452,7 +452,7 @@
>   #define ICX_M3UPI_PCI_PMON_BOX_CTL		0xa0
>   
>   /* ICX IMC */
> -#define ICX_NUMBER_IMC_CHN			2
> +#define ICX_NUMBER_IMC_CHN			3
>   #define ICX_IMC_MEM_STRIDE			0x4
>   
>   /* SPR */
> @@ -5458,7 +5458,7 @@ static struct intel_uncore_ops icx_uncore_mmio_ops = {
>   static struct intel_uncore_type icx_uncore_imc = {
>   	.name		= "imc",
>   	.num_counters   = 4,
> -	.num_boxes	= 8,
> +	.num_boxes	= 12,
>   	.perf_ctr_bits	= 48,
>   	.fixed_ctr_bits	= 48,
>   	.fixed_ctr	= SNR_IMC_MMIO_PMON_FIXED_CTR,
> 

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

end of thread, other threads:[~2021-08-11 13:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-19 12:54 [RESEND PATCH] perf/x86/intel/uncore: Fix invalid unit check kan.liang
2021-07-19 12:54 ` [RESEND PATCH] perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server kan.liang
2021-08-11 13:03   ` Liang, Kan
2021-08-11 13:03 ` [RESEND PATCH] perf/x86/intel/uncore: Fix invalid unit check Liang, Kan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).