[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: |
Thu, 11 Apr 2013 17:17:29 +0200 |
On Fri, 5 Apr 2013 14:24:35 -0300
Eduardo Habkost <address@hidden> wrote:
> On Fri, Apr 05, 2013 at 02:10:54PM -0300, Eduardo Habkost 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 have to be the index of the CPU in the CPU list? How the IDs of
> > existing CPUs set using "-smp" are allocated?
> >
> > 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.
>
> So, the answer to my own question seems to be on patch 21/22. Let me
> check if I understand this correctly:
>
> @id: cpu id of the CPU to be created. It must be one of the the
> available IDs listed at the "/machine/icc-bridge/cpu[0..N]" links.
>
> Is the above correct?
yes.
>
> Now, my question is: suppose a caller starts QEMU as:
>
> $ qemu -smp 18,cores=3,threads=3,maxcpus=36 \
> -numa node,cpus=0-8 -numa node,cpus=9-17 \
> -numa node,cpus=18-26 -numa node,cpus=27-35
>
> and the caller wants to hot-add all VCPUs in the last CPU socket (that
> means: all the VCPUs in the last NUMA node, that means: CPU indexes
> 27-35). What should the caller do to find out which of the
> /machine/icc-bridge/cpu[0..N] links/IDs really correspond to those
> VCPUs?
If one wants plug in a specific CPU, It won't work with -numa yet.
to make it work we need to specify sockets on -numa cmd. line and then
construct synthetic QOM containers tree that could looklike:
/machine/numa_nodes/[0..N]/sockets/[0..M]/cpus/[0..X]
then command line could look like:
$ qemu -smp 18,cores=3,threads=3,maxcpus=36 \
-numa node,sockets=0-1 -numa node,sockets=2-3
>
>
> >
> > > +#
> > > +# Returns: Nothing on success
> > > +##
> > > +{ 'command': 'cpu-add', 'data': {'id': 'int'} }
> > > +
> > > +##
> > --
> > Eduardo
> >
>
> --
> Eduardo
>
--
Regards,
Igor
- [Qemu-devel] [PATCH 18/22] target-i386: move APIC to ICC bus, (continued)
- [Qemu-devel] [PATCH 14/22] target-i386: introduce apic-id property, Igor Mammedov, 2013/04/05
- [Qemu-devel] [PATCH 09/22] introduce CPU hot-plug notifier, Igor Mammedov, 2013/04/05
- [Qemu-devel] [PATCH 21/22] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Igor Mammedov, 2013/04/05
- [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Igor Mammedov, 2013/04/05
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Igor Mammedov, 2013/04/09
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Eduardo Habkost, 2013/04/09
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Igor Mammedov, 2013/04/09
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Eduardo Habkost, 2013/04/11
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Igor Mammedov, 2013/04/11
[Qemu-devel] [PATCH 12/22] cpu: add helper cpu_exists(), to check if CPU with specified id exists, Igor Mammedov, 2013/04/05
[Qemu-devel] [PATCH 19/22] target-i386: move IOAPIC to ICC bus, Igor Mammedov, 2013/04/05
[Qemu-devel] [PATCH 20/22] qdev: set device's parent before calling realize() down inheritance chain., Igor Mammedov, 2013/04/05