[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 0/4] Add BHRB Facility Support
From: |
Miles Glenn |
Subject: |
Re: [PATCH v3 0/4] Add BHRB Facility Support |
Date: |
Wed, 18 Oct 2023 10:59:23 -0500 |
On Thu, 2023-10-19 at 01:06 +1000, Nicholas Piggin wrote:
> On Tue Sep 26, 2023 at 3:43 AM AEST, Glenn Miles wrote:
> > This is a series of patches for adding support for the Branch
> > History
> > Rolling Buffer (BHRB) facility. This was added to the Power ISA
> > starting with version 2.07. Changes were subsequently made in
> > version
> > 3.1 to limit BHRB recording to instructions run in problem state
> > only
> > and to add a control bit to disable recording (MMCRA[BHRBRD]).
> >
> > Version 3 of this series disables branch recording on P8 and P9 due
> > to a drop in performance caused by recording branches outside of
> > problem state.
>
> Thanks for these, they all look good to me.
>
> With P10 CPU, Linux perf branch recording appears to work with this
> series, and I confirmed that Linux does disable BHRB in MMCRA at
> boot, so it should not take the performance hit.
>
> It had a couple of compile bugs, no matter I fixed them, but I often
> trip overppc32 and user-mode when working on TCG too, so building
> with --target-list including ppc64-softmmu,ppc-softmmu,
> ppc64-linux-user,ppc64le-linux-user,ppc-linux-user is good to catch
> those.
>
> Thanks,
> Nick
>
Thanks, Nick. I'll have to remember that for next time!
Glenn
> > Glenn Miles (4):
> > target/ppc: Add new hflags to support BHRB
> > target/ppc: Add recording of taken branches to BHRB
> > target/ppc: Add clrbhrb and mfbhrbe instructions
> > target/ppc: Add migration support for BHRB
> >
> > target/ppc/cpu.h | 24 ++++++
> > target/ppc/cpu_init.c | 39 +++++++++-
> > target/ppc/helper.h | 5 ++
> > target/ppc/helper_regs.c | 35 +++++++++
> > target/ppc/insn32.decode | 8 ++
> > target/ppc/machine.c | 23 +++++-
> > target/ppc/misc_helper.c | 46 +++++++++++
> > target/ppc/power8-pmu-regs.c.inc | 5 ++
> > target/ppc/power8-pmu.c | 48 +++++++++++-
> > target/ppc/power8-pmu.h | 11 ++-
> > target/ppc/spr_common.h | 1 +
> > target/ppc/translate.c | 101
> > +++++++++++++++++++++++--
> > target/ppc/translate/bhrb-impl.c.inc | 43 +++++++++++
> > target/ppc/translate/branch-impl.c.inc | 2 +-
> > 14 files changed, 374 insertions(+), 17 deletions(-)
> > create mode 100644 target/ppc/translate/bhrb-impl.c.inc