diff mbox series

tools/perf/arch/powerpc: Add register mask for power11 PVR in extended regs

Message ID 20241206135637.36166-1-atrajeev@linux.vnet.ibm.com (mailing list archive)
State Handled Elsewhere
Headers show
Series tools/perf/arch/powerpc: Add register mask for power11 PVR in extended regs | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_perf fail perf (ubuntu-18.04, ppc64) failed at step Build.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 5 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 21 jobs.

Commit Message

Athira Rajeev Dec. 6, 2024, 1:56 p.m. UTC
Perf tools side uses extended mask to display the platform
supported register names (with -I? option) to the user
and also send this mask to the kernel to capture the extended registers
as part of each sample. This mask value is decided based on
the processor version ( from PVR ).

Add PVR value for power11 to enable capturing the extended regs
as part of sample in power11.

Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
---

 tools/perf/arch/powerpc/util/perf_regs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Kajol Jain Dec. 11, 2024, 12:02 p.m. UTC | #1
On 12/6/24 19:26, Athira Rajeev wrote:
> Perf tools side uses extended mask to display the platform
> supported register names (with -I? option) to the user
> and also send this mask to the kernel to capture the extended registers
> as part of each sample. This mask value is decided based on
> the processor version ( from PVR ).
> 
> Add PVR value for power11 to enable capturing the extended regs
> as part of sample in power11.

Patch looks fine to me.

Reviewed-by: Kajol Jain <kjain@linux.ibm.com>


> 
> Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
> ---
> 
>  tools/perf/arch/powerpc/util/perf_regs.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/arch/powerpc/util/perf_regs.c b/tools/perf/arch/powerpc/util/perf_regs.c
> index e8e6e6fc6f17..bd36cfd420a2 100644
> --- a/tools/perf/arch/powerpc/util/perf_regs.c
> +++ b/tools/perf/arch/powerpc/util/perf_regs.c
> @@ -16,6 +16,7 @@
>  
>  #define PVR_POWER9		0x004E
>  #define PVR_POWER10		0x0080
> +#define PVR_POWER11		0x0082
>  
>  static const struct sample_reg sample_reg_masks[] = {
>  	SMPL_REG(r0, PERF_REG_POWERPC_R0),
> @@ -207,7 +208,7 @@ uint64_t arch__intr_reg_mask(void)
>  	version = (((mfspr(SPRN_PVR)) >>  16) & 0xFFFF);
>  	if (version == PVR_POWER9)
>  		extended_mask = PERF_REG_PMU_MASK_300;
> -	else if (version == PVR_POWER10)
> +	else if ((version == PVR_POWER10) || (version == PVR_POWER11))
>  		extended_mask = PERF_REG_PMU_MASK_31;
>  	else
>  		return mask;
Athira Rajeev Dec. 16, 2024, 10:02 a.m. UTC | #2
> On 11 Dec 2024, at 5:32 PM, kajoljain <kjain@linux.ibm.com> wrote:
> 
> 
> 
> On 12/6/24 19:26, Athira Rajeev wrote:
>> Perf tools side uses extended mask to display the platform
>> supported register names (with -I? option) to the user
>> and also send this mask to the kernel to capture the extended registers
>> as part of each sample. This mask value is decided based on
>> the processor version ( from PVR ).
>> 
>> Add PVR value for power11 to enable capturing the extended regs
>> as part of sample in power11.
> 
> Patch looks fine to me.
> 
> Reviewed-by: Kajol Jain <kjain@linux.ibm.com>

Hi

Can we please pull in this patch if it looks fine.

Thanks
Athira
> 
> 
>> 
>> Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
>> ---
>> 
>> tools/perf/arch/powerpc/util/perf_regs.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/tools/perf/arch/powerpc/util/perf_regs.c b/tools/perf/arch/powerpc/util/perf_regs.c
>> index e8e6e6fc6f17..bd36cfd420a2 100644
>> --- a/tools/perf/arch/powerpc/util/perf_regs.c
>> +++ b/tools/perf/arch/powerpc/util/perf_regs.c
>> @@ -16,6 +16,7 @@
>> 
>> #define PVR_POWER9 0x004E
>> #define PVR_POWER10 0x0080
>> +#define PVR_POWER11 0x0082
>> 
>> static const struct sample_reg sample_reg_masks[] = {
>> SMPL_REG(r0, PERF_REG_POWERPC_R0),
>> @@ -207,7 +208,7 @@ uint64_t arch__intr_reg_mask(void)
>> version = (((mfspr(SPRN_PVR)) >>  16) & 0xFFFF);
>> if (version == PVR_POWER9)
>> extended_mask = PERF_REG_PMU_MASK_300;
>> - else if (version == PVR_POWER10)
>> + else if ((version == PVR_POWER10) || (version == PVR_POWER11))
>> extended_mask = PERF_REG_PMU_MASK_31;
>> else
>> return mask;
>
Arnaldo Carvalho de Melo Dec. 16, 2024, 4:45 p.m. UTC | #3
On Mon, Dec 16, 2024 at 03:32:12PM +0530, Athira Rajeev wrote:
> > On 11 Dec 2024, at 5:32 PM, kajoljain <kjain@linux.ibm.com> wrote:
> > On 12/6/24 19:26, Athira Rajeev wrote:
> >> Perf tools side uses extended mask to display the platform
> >> supported register names (with -I? option) to the user
> >> and also send this mask to the kernel to capture the extended registers
> >> as part of each sample. This mask value is decided based on
> >> the processor version ( from PVR ).

> >> Add PVR value for power11 to enable capturing the extended regs
> >> as part of sample in power11.

> > Patch looks fine to me.

> > Reviewed-by: Kajol Jain <kjain@linux.ibm.com>
 
> Can we please pull in this patch if it looks fine.

Sure,

Thanks, applied to perf-tools-next,

- Arnaldo
Athira Rajeev Dec. 17, 2024, 6:27 a.m. UTC | #4
> On 16 Dec 2024, at 10:15 PM, Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> 
> On Mon, Dec 16, 2024 at 03:32:12PM +0530, Athira Rajeev wrote:
>>> On 11 Dec 2024, at 5:32 PM, kajoljain <kjain@linux.ibm.com> wrote:
>>> On 12/6/24 19:26, Athira Rajeev wrote:
>>>> Perf tools side uses extended mask to display the platform
>>>> supported register names (with -I? option) to the user
>>>> and also send this mask to the kernel to capture the extended registers
>>>> as part of each sample. This mask value is decided based on
>>>> the processor version ( from PVR ).
> 
>>>> Add PVR value for power11 to enable capturing the extended regs
>>>> as part of sample in power11.
> 
>>> Patch looks fine to me.
> 
>>> Reviewed-by: Kajol Jain <kjain@linux.ibm.com>
> 
>> Can we please pull in this patch if it looks fine.
> 
> Sure,
> 
> Thanks, applied to perf-tools-next,
> 
> - Arnaldo
Thanks Arnaldo for pulling this in 

Athira
diff mbox series

Patch

diff --git a/tools/perf/arch/powerpc/util/perf_regs.c b/tools/perf/arch/powerpc/util/perf_regs.c
index e8e6e6fc6f17..bd36cfd420a2 100644
--- a/tools/perf/arch/powerpc/util/perf_regs.c
+++ b/tools/perf/arch/powerpc/util/perf_regs.c
@@ -16,6 +16,7 @@ 
 
 #define PVR_POWER9		0x004E
 #define PVR_POWER10		0x0080
+#define PVR_POWER11		0x0082
 
 static const struct sample_reg sample_reg_masks[] = {
 	SMPL_REG(r0, PERF_REG_POWERPC_R0),
@@ -207,7 +208,7 @@  uint64_t arch__intr_reg_mask(void)
 	version = (((mfspr(SPRN_PVR)) >>  16) & 0xFFFF);
 	if (version == PVR_POWER9)
 		extended_mask = PERF_REG_PMU_MASK_300;
-	else if (version == PVR_POWER10)
+	else if ((version == PVR_POWER10) || (version == PVR_POWER11))
 		extended_mask = PERF_REG_PMU_MASK_31;
 	else
 		return mask;