qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU


From: Igor Mammedov
Subject: Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386
Date: Tue, 9 Apr 2013 22:19:11 +0200

On Fri, 5 Apr 2013 14:10:54 -0300
Eduardo Habkost <address@hidden> wrote:

> On Fri, Apr 05, 2013 at 04:37:16PM +0200, Igor Mammedov wrote:
> [...]
> > diff --git a/qapi-schema.json b/qapi-schema.json
> > index db542f6..a760ed5 100644
> > --- a/qapi-schema.json
> > +++ b/qapi-schema.json
> > @@ -1387,6 +1387,17 @@
> >  { 'command': 'cpu', 'data': {'index': 'int'} }
> >  
> >  ##
> > +# @cpu-add
> > +#
> > +# Adds CPU with specified id
> > +#
> > +# @id: cpu id of CPU to be created
> 
> Can we have the semantics/constraints of "id" documented here? Is it an
> arbitrary ID chosen by the caller? Does it have to be the APIC ID? Does
it's generic function so documenting it as APIC ID is not appropriate.

I for sure should document it on cpu-hotplug wiki page though, for x86 use
case for starters. i.e. how to use QMP to get a list of available/free IDs.
and in which order to use them.

> it have to be the index of the CPU in the CPU list? How the IDs of
> existing CPUs set using "-smp" are allocated?
With current -smp implementation the same way as it was before,
and for migration to work hot-plugged CPU has to be the next unused APIC
ID in their sequence, so that target qemu could be started with "-smp n+1".

But -smp along with -numa should be reworked to allow specifying guest visible
CPU IDs for arbitrary CPU hotplug to work.

when we done with QOMifying CPUs it might be possible to use -device for them
and keeping -smp for compat/shorcut purposes.

> 
> I am looking at the code right now to understand how this implementation
> works, but the documentation could contain or point to documentation on
> how the "id" parameter is used and interpreted.
I'll add pointer to wiki and describe there target-i386 use-case.

> 
> > +#
> > +# Returns: Nothing on success
> > +##
> > +{ 'command': 'cpu-add', 'data': {'id': 'int'} }
> > +
> > +##
> -- 
> Eduardo


-- 
Regards,
  Igor



reply via email to

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