[PATCH v3 2/3] drivers/perf: riscv: Reset the counter to hpmevent mapping while starting cpus
Atish Kumar Patra
atishp at rivosinc.com
Wed Jun 26 09:18:46 PDT 2024
On Wed, Jun 26, 2024 at 6:24 AM Samuel Holland
<samuel.holland at sifive.com> wrote:
>
> On 2024-06-26 2:23 AM, Atish Patra wrote:
> > From: Samuel Holland <samuel.holland at sifive.com>
> >
> > Currently, we stop all the counters while a new cpu is brought online.
> > However, the hpmevent to counter mappings are not reset. The firmware may
> > have some stale encoding in their mapping structure which may lead to
> > undesirable results. We have not encountered such scenario though.
> >
>
> This needs:
>
> Signed-off-by: Samuel Holland <samuel.holland at sifive.com>
>
Oops. Sorry I missed that.
@Alexandre Ghiti @Palmer Dabbelt : Can you add that while picking up
the patch or should I respin a v4 ?
> otherwise your commit message looks fine to me.
>
> > Signed-off-by: Atish Patra <atishp at rivosinc.com>
> > ---
> > drivers/perf/riscv_pmu_sbi.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/perf/riscv_pmu_sbi.c b/drivers/perf/riscv_pmu_sbi.c
> > index a2e4005e1fd0..94bc369a3454 100644
> > --- a/drivers/perf/riscv_pmu_sbi.c
> > +++ b/drivers/perf/riscv_pmu_sbi.c
> > @@ -762,7 +762,7 @@ static inline void pmu_sbi_stop_all(struct riscv_pmu *pmu)
> > * which may include counters that are not enabled yet.
> > */
> > sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_STOP,
> > - 0, pmu->cmask, 0, 0, 0, 0);
> > + 0, pmu->cmask, SBI_PMU_STOP_FLAG_RESET, 0, 0, 0);
> > }
> >
> > static inline void pmu_sbi_stop_hw_ctrs(struct riscv_pmu *pmu)
> >
>
More information about the linux-arm-kernel
mailing list