On Fri, 2015-01-23 at 11:24 +0100, Alexandre DERUMIER wrote: > Hello, > > I'm currently testing the new cpu unplug features, > Works fine here with debian guests and kernel 3.14. >
Thanks for your test. > But I have notice some small potential bugs, but I'm not sure I'm doing it > right. > > 1)first, to unplug cpu, we need an id for cpu > Yes, if you want to unplug cpu, you must have an id for cpu. > The problem is that the current qemu command line > -smp 1,sockets=2,cores=1,maxcpus=2 > > for example, will create 1 cpu on apic-id 0 without any id, so we can't > unplug it. > > > So, I have tried with > > -smp 1,sockets=2,cores=1,maxcpus=2 -device kvm64-x86_64-cpu,apic-id=0,id=cpu0 > > But this give me an error: > "-device kvm64-x86_64-cpu,apic-id=0,id=cpu0: CPU with APIC ID 0 exists" > APIC ID 0 was used by the cpu of '-smp 1'. So you should use apic-id=1 > (also try to set -smp 0, but it's not working). > > > > 2) second problem, if I start with > -smp 1,sockets=2,cores=1,maxcpus=2 > > then hmp: > device_add kvm64-x86_64-cpu,apic-id=1,id=cpu1 > > then hmp : device_del cpu1 > > Got an error:" > This is the last cpu, should not be removed!" > > Oh, it's our problem, thanks for your pointing out. I will fix it in next version. Regards, Zhu > > This is coming from > [PATCH 06/12] pc: add cpu hot unplug request callback support > + if (smp_cpus == 1) { > + error_setg(&local_err, > + "This is the last cpu, should not be removed!"); > + goto out; > + } > > > > So, the only way unplug is working for me, is to start with -smp 2 minimum > -smp 2,sockets=2,cores=1,maxcpus=4 > > Then I can hotplug|unplug cpuid >= 2 > > > > Regards, > > Alexandre Derumier [...]