qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH for-2.7 v6 2/2] spapr: implement query-hotplugga


From: Igor Mammedov
Subject: Re: [Qemu-devel] [PATCH for-2.7 v6 2/2] spapr: implement query-hotpluggable-cpus callback
Date: Mon, 11 Apr 2016 11:47:50 +0200

On Mon, 11 Apr 2016 15:08:34 +0530
Bharata B Rao <address@hidden> wrote:

> On Mon, Apr 11, 2016 at 11:23:57AM +0200, Igor Mammedov wrote:
> > On Mon, 11 Apr 2016 14:54:24 +1000
> > David Gibson <address@hidden> wrote:
> >   
> > > On Fri,  8 Apr 2016 13:29:56 +0200
> > > Igor Mammedov <address@hidden> wrote:
> > >   
> > > > it returns a list of present/possible to hotplug CPU
> > > > objects with a list of properties to use with
> > > > device_add.
> > > > 
> > > > in spapr case returned list would looks like:    
> > > > -> { "execute": "query-hotpluggable-cpus" }      
> > > > <- {"return": [
> > > >      { "props": { "core": 1 }, "type": "spapr-cpu-core",
> > > >        "vcpus-count": 2 },
> > > >      { "props": { "core": 0 }, "type": "spapr-cpu-core",
> > > >        "vcpus-count": 2,
> > > >        "qom-path": "/machine/unattached/device[0]"}
> > > >    ]}'
> > > > 
> > > > TODO:
> > > >   add 'node' property for core <-> numa node mapping
> > > > 
> > > > Signed-off-by: Igor Mammedov <address@hidden>
> > > > ---
> > > > it's only compile tested
> > > > v2:
> > > >  - s/qmp_query_hotpluggable_cpus/MachineClass->query_hotpluggable_cpus/ 
> > > > callback
> > > > ---
> > > >  hw/ppc/spapr.c | 33 +++++++++++++++++++++++++++++++++
> > > >  1 file changed, 33 insertions(+)
> > > > 
> > > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > > > index 760a42f..c38995e 100644
> > > > --- a/hw/ppc/spapr.c
> > > > +++ b/hw/ppc/spapr.c
> > > > @@ -66,6 +66,7 @@
> > > >  #include "hw/compat.h"
> > > >  #include "qemu/cutils.h"
> > > >  #include "hw/ppc/spapr_cpu_core.h"
> > > > +#include "qmp-commands.h"
> > > >  
> > > >  #include <libfdt.h>
> > > >  
> > > > @@ -2382,6 +2383,37 @@ static unsigned 
> > > > spapr_cpu_index_to_socket_id(unsigned cpu_index)
> > > >      return cpu_index / smp_threads / smp_cores;
> > > >  }
> > > >  
> > > > +static HotpluggableCPUList *spapr_query_hotpluggable_cpus(MachineState 
> > > > *machine)
> > > > +{
> > > > +    int i;
> > > > +    HotpluggableCPUList *head = NULL;
> > > > +    sPAPRMachineState *spapr = SPAPR_MACHINE(machine);
> > > > +    int spapr_max_cores = max_cpus / smp_threads;
> > > > +
> > > > +    for (i = 0; i < spapr_max_cores; i++) {
> > > > +        HotpluggableCPUList *list_item = g_new0(typeof(*list_item), 1);
> > > > +        HotpluggableCPU *cpu_item = g_new0(typeof(*cpu_item), 1);
> > > > +        CpuInstanceProperties *cpu_props = g_new0(typeof(*cpu_props), 
> > > > 1);
> > > > +
> > > > +        cpu_item->type = g_strdup(TYPE_SPAPR_CPU_CORE);    
> > > 
> > > So, Bharata's latest core stuff is (as suggested by you and others)
> > > moving to using different derived types, rather than a cpu_model
> > > property, so this will need to change a bit.  
> > Yep, I guess so.
> > It would be even better if Bharata took merged this patches
> > with his series and took care to make necessary changes to
> > this call back.  
> 
> I will take these patches into my series and make the necessary changes.
Thanks!

> 
> Regards,
> Bharata.
> 




reply via email to

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