qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 0/4] Add BHRB Facility Support


From: Nicholas Piggin
Subject: Re: [PATCH v3 0/4] Add BHRB Facility Support
Date: Thu, 19 Oct 2023 01:06:59 +1000

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

>
> 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]