qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v7] docs: add cpu-hotplug.txt


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH v7] docs: add cpu-hotplug.txt
Date: Tue, 6 Sep 2016 17:05:18 -0300
User-agent: Mutt/1.7.0 (2016-08-17)

On Tue, Aug 23, 2016 at 01:17:01PM +0800, Dou Liyang wrote:
> Hi Alexandre,
> 
> At 08/22/2016 04:56 PM, Alexandre DERUMIER wrote:
> > Hello,
> > 
> > I'm looking to implement cpu hotplug,
> > 
> > and I have a question about cpu flags
> > 
> > currently I have something like
> > 
> > -cpu qemu64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce
> > -smp 4,sockets=2,cores=2,maxcpus=4
> > 
> > 
> > Does I need to define flags like:
> > 
> > -smp 2,sockets=2,cores=2,maxcpus=4
> > -device 
> > qemu64-x86_64-cpu,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce,id=cpu1,socket-id=1,core-id=1,thread-id=0
> 
> I think we don't need to do that.
> In my option, just like this:
> 
> -device qemu64-x86_64-cpu,id=cpu1,socket-id=1,..
> 
> Because QEMU sets the "-cpu" options in MachineState:
> 
>   current_machine->cpu_model = cpu_model;
> 
> when you add a CPU, QEMU can get the flag from the MachineState.

You don't need to repeat the flags, but that's not because of
MachineState::cpu_model, but because of the semantics of -smp:

The option:
  -smp MODEL,+FOO,+BAR
is internally translated to:
  -global MODEL.FOO=on
  -global MODEL.BAR=on
in addition to setting the CPU model for creating initial CPUs to
MODEL.

> 
> > ...
> > 
> > ?
> > 
> > 
> > Another question,
> > is -smp mandatory ?  (if I want coldplug all cpus)
> 
> it's not mandatory. such as this:
> 
>   ./x86_64-softmmu/qemu-system-x86_64 -m 1G /image/fedora.img
>   -enable-kvm -monitor stdio
> 
>  (qemu) info cpus
>   * CPU #0: pc=0xffffffff81060586 (halted) thread_id=4032
> 
> the default number of CPUs is 1.
> 
> > 
> > -smp sockets=2,cores=2,maxcpus=4
> 
> > -device qemu64-x86_64-cpu,id=cpu1,socket-id=1,core-id=1,thread-id=0
> > -device qemu64-x86_64-cpu,id=cpu1,socket-id=1,core-id=2,thread-id=0
> > -device qemu64-x86_64-cpu,id=cpu3,socket-id=2,core-id=1,thread-id=0
> > -device qemu64-x86_64-cpu,id=cpu4,socket-id=2,core-id=2,thread-id=0
> > 
> > or does I need minimum 1 non unplugable cpu

As mentioned above, the default number of CPUs is 1, so "-smp
sockets=2" is the same as "-smp 1,sockets=2".

I assume you mean something like "-smp 0", but that doesn't work
today. I would like to eventually allow all CPUs to be created
using -device, but that's not possible yet.

> > 
> > -smp 1,sockets=2,cores=2,maxcpus=4
> > -device qemu64-x86_64-cpu,id=cpu1,socket-id=1,core-id=2,thread-id=0
> > -device qemu64-x86_64-cpu,id=cpu3,socket-id=2,core-id=1,thread-id=0
> > -device qemu64-x86_64-cpu,id=cpu4,socket-id=2,core-id=2,thread-id=0
> > 
> 
> I think that is better, and the socket-id/core-id/thread-id starts at
> index 0
> 
> I am new to the community. Please don't mind, and take with a grain of
> salt. 
> 
> Thanks,
> Dou
> 
> 

-- 
Eduardo



reply via email to

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