Messages in this thread | | | Date | Wed, 26 Jan 2022 11:07:24 -0600 | From | Rob Herring <> | Subject | Re: [RFC V1 06/11] arm64/perf: Drive BRBE from perf event states |
| |
On Mon, Jan 24, 2022 at 10:00:48AM +0530, Anshuman Khandual wrote: > Branch stack sampling rides along the normal perf event and all the branch > records get captured during the PMU interrupt. This just changes perf event > handling on the arm64 platform to accommodate required BRBE operations that > will enable branch stack sampling support. > > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Arnaldo Carvalho de Melo <acme@kernel.org> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Will Deacon <will@kernel.org> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: linux-perf-users@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> > --- > arch/arm64/kernel/perf_event.c | 6 +++++ > drivers/perf/arm_pmu.c | 40 ++++++++++++++++++++++++++++++++++ > 2 files changed, 46 insertions(+) > > diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c > index f6a47036b0b4..11c82c8f2eec 100644 > --- a/arch/arm64/kernel/perf_event.c > +++ b/arch/arm64/kernel/perf_event.c > @@ -864,6 +864,12 @@ static irqreturn_t armv8pmu_handle_irq(struct arm_pmu *cpu_pmu) > if (!armpmu_event_set_period(event)) > continue; > > + if (has_branch_stack(event)) { > + cpu_pmu->brbe_read(cpuc, event);
Is has_branch_stack() guaranteed to be false on arm32? If not, this will be a NULL function ptr.
To add to my other comments, this patch is where I would add brbe_read(), etc. to arm_pmu.
Rob
| |