[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] numa: Introduce MachineClass::auto_enable_numa
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH] numa: Introduce MachineClass::auto_enable_numa for implicit NUMA node |
Date: |
Fri, 9 Aug 2019 11:29:59 +0200 |
On Thu, 8 Aug 2019 16:35:00 +1000
David Gibson <address@hidden> wrote:
> On Wed, Aug 07, 2019 at 02:52:56PM -0300, Eduardo Habkost wrote:
> > On Tue, Aug 06, 2019 at 02:50:55PM +0200, Igor Mammedov wrote:
> > > On Mon, 5 Aug 2019 15:13:02 +0800
> > > Tao Xu <address@hidden> wrote:
> > >
> > > > Add MachineClass::auto_enable_numa field. When it is true, a NUMA node
> > > > is expected to be created implicitly.
> > > >
> > > > Acked-by: David Gibson <address@hidden>
> > > > Suggested-by: Igor Mammedov <address@hidden>
> > > > Suggested-by: Eduardo Habkost <address@hidden>
> > > > Signed-off-by: Tao Xu <address@hidden>
> > [...]
> > > > + mc->auto_enable_numa = true;
> > >
> > > this will always create a numa node (that will affect not only RAM but
> > > also all other components that depends on numa state (like CPUs)),
> > > where as spapr_populate_memory() was only faking numa node in DT for RAM.
> > > It makes non-numa configuration impossible.
> > > Seeing David's ACK on the patch it might be fine, but I believe
> > > commit message should capture that and explain why the change in
> > > behavior is fine.
> >
> > After a quick look, all spapr code seems to have the same
> > behavior when nb_numa_nodes==0 and nb_numa_nodes==1, but I'd like
> > to be sure.
>
> That's certainly the intention. If there are cases where it doesn't
> behave that way, it's a bug - although possible one we have to
> maintainer for machine compatibility.
considering DT is firmware we typically do not add any compat
code for the later.
>
> > David and/or Tao Xu: do you confirm there's no ABI change at all
> > on spapr after implicitly creating a NUMA node?
>
> I don't believe there is, no.
Also seeing your next reply, it seems there is no non-numa
usecase is spec so it would be a bug to begin with, hence:
Reviewed-by: Igor Mammedov <address@hidden>
> >
> > >
> > > > smc->default_caps.caps[SPAPR_CAP_HTM] = SPAPR_CAP_OFF;
> > > > smc->default_caps.caps[SPAPR_CAP_VSX] = SPAPR_CAP_ON;
> > > > diff --git a/include/hw/boards.h b/include/hw/boards.h
> > > > index 2eb9a0b4e0..4a350b87d2 100644
> > > > --- a/include/hw/boards.h
> > > > +++ b/include/hw/boards.h
> > > > @@ -220,6 +220,7 @@ struct MachineClass {
> > > > bool smbus_no_migration_support;
> > > > bool nvdimm_supported;
> > > > bool numa_mem_supported;
> > > > + bool auto_enable_numa;
> > > >
> > > > HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
> > > > DeviceState *dev);
> > >
> >
>