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 |
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. |
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;
> 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; >
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
> 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 --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;
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(-)