qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/6] spapr: Treat Hardware Transactional Memory


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH 2/6] spapr: Treat Hardware Transactional Memory (HTM) as an optional capability
Date: Tue, 19 Dec 2017 11:35:08 +1100
User-agent: Mutt/1.9.1 (2017-09-22)

On Mon, Dec 18, 2017 at 12:10:41PM +0100, Greg Kurz wrote:
> On Mon, 18 Dec 2017 20:20:20 +1100
> David Gibson <address@hidden> wrote:
> 
> > This adds an spapr capability bit for Hardware Transactional Memory.  It is
> > enabled by default for pseries-2.11 and earlier machine types. with POWER8
> > or later CPUs (as it must be, since earlier qemu versions would implicitly
> > allow it).  However it is disabled by default for the latest pseries-2.12
> > machine type.
> > 
> > This means that with the latest machine type, HTM will not be available,
> > regardless of CPU, unless it is explicitly enabled on the command line.
> > That change is made on the basis that:
> > 
> >  * This way running with -M pseries,accel=tcg will start with whatever cpu
> >    and will provide the same guest visible model as with accel=kvm.
> >      - More specifically, this means existing make check tests don't have
> >        to be modified to use cap-htm=off in order to run with TCG
> > 
> >  * We hope to add a new "HTM without suspend" feature in the not too
> >    distant future which could work on both POWER8 and POWER9 cpus, and
> >    could be enabled by default.
> > 
> >  * Best guesses suggest that future POWER cpus may well only support the
> >    HTM-without-suspend model, not the (frankly, horribly overcomplicated)
> >    POWER8 style HTM with suspend.
> > 
> >  * Anecdotal evidence suggests problems with HTM being enabled when it
> >    wasn't wanted are more common than being missing when it was.
> > 
> > Signed-off-by: David Gibson <address@hidden>
> > ---
> >  hw/ppc/spapr.c         | 15 ++++++++++-----
> >  hw/ppc/spapr_caps.c    | 29 ++++++++++++++++++++++++++++-
> >  include/hw/ppc/spapr.h |  3 +++
> >  3 files changed, 41 insertions(+), 6 deletions(-)
> > 
> > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > index d472baef8d..f8fee8ebcf 100644
> > --- a/hw/ppc/spapr.c
> > +++ b/hw/ppc/spapr.c
> > @@ -253,7 +253,9 @@ static int spapr_fixup_cpu_numa_dt(void *fdt, int 
> > offset, PowerPCCPU *cpu)
> >  }
> >  
> >  /* Populate the "ibm,pa-features" property */
> > -static void spapr_populate_pa_features(PowerPCCPU *cpu, void *fdt, int 
> > offset,
> > +static void spapr_populate_pa_features(sPAPRMachineState *spapr,
> 
> While here, maybe you could rename spapr_populate_pa_features() to
> spapr_dt_pa_features() ?
> 
> But anyway, this isn't really the point of this series, so:

Yeah, I don't think that's really in scope for this series.

> Reviewed-by: Greg Kurz <address@hidden>

Thanks.

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

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