On Thu, Jul 21, 2016 at 05:54:31PM +0200, Igor Mammedov wrote:
> Series fixes migration issues caused by unstable cpu_index which depended
> on order cpus were created/destroyed. It follows David's idea to make
> cpu_index assignable by selected boards if board supports cpu-hotplug
> with device_add and needs stable cpu_index/'migration id' but leaves
> behaviour of the same as before for users that don't care about
> cpu-hot(un)plug making changes low-risk.
> 
> tested with:
>   SRC -snapshot -enable-kvm -smp 1,maxcpus=3 -m 256M guest.img -monitor stdio 
> \
>        -device qemu64-x86_64-cpu,id=cpudel,apic-id=1 \
>        -device qemu64-x86_64-cpu,apic-id=2 
>   (qemu) device_del cpudel
>   (qemu) stop
>   (qemu) migrate "exec:gzip -c > STATEFILE.gz"
>   
>   DST -snapshot -enable-kvm -smp 1,maxcpus=3 -m 256M guest.img -monitor stdio 
> \
>       -device qemu64-x86_64-cpu,apic-id=2 \
>       -incoming "exec: gzip -c -d STATEFILE.gz"
> 
> git tree to test with:
>      https://github.com/imammedo/qemu cpu-index-stable
>  to view
>      https://github.com/imammedo/qemu/commits/cpu-index-stable

For PC bits:

Reviewed-by: Michael S. Tsirkin <m...@redhat.com>

This would be nice to have in 2.7.

Who's reviewing/merging the rest? Eduardo?


> CC: Paolo Bonzini <pbonz...@redhat.com>
> CC: Peter Crosthwaite <crosthwaite.pe...@gmail.com>
> CC: Richard Henderson <r...@twiddle.net>
> CC: Eduardo Habkost <ehabk...@redhat.com>
> CC: "Michael S. Tsirkin" <m...@redhat.com>
> CC: David Gibson <da...@gibson.dropbear.id.au>
> CC: Alexander Graf <ag...@suse.de>
> CC: Riku Voipio <riku.voi...@iki.fi>
> CC: Bharata B Rao <bhar...@linux.vnet.ibm.com>
> CC: qemu-...@nongnu.org
> 
> David Gibson (1):
>   Revert "spapr: Ensure CPU cores are added contiguously and removed in
>     LIFO order"
> 
> Igor Mammedov (7):
>   exec: reduce CONFIG_USER_ONLY ifdeffenery
>   exec: don't use cpu_index to detect if cpu_exec_init()'s been called
>     for cpu
>   exec: set cpu_index only if it's been explictly set
>   qdev: fix object reference leak in case device.realize() fails
>   pc: init CPUState->cpu_index with index in possible_cpus[]
>   spapr: init CPUState->cpu_index with index relative to core-id
>   Revert "pc: Enforce adding CPUs contiguously and removing them in
>     opposite order"
> 
>  bsd-user/qemu.h         |  2 --
>  include/exec/exec-all.h | 12 +++++++++
>  include/qemu/queue.h    |  2 ++
>  include/qom/cpu.h       |  2 ++
>  linux-user/qemu.h       |  2 --
>  exec.c                  | 65 
> +++++++++----------------------------------------
>  hw/core/qdev.c          |  8 +++++-
>  hw/i386/pc.c            | 38 +++--------------------------
>  hw/ppc/spapr_cpu_core.c | 25 ++++---------------
>  qom/cpu.c               |  2 +-
>  10 files changed, 44 insertions(+), 114 deletions(-)
> 
> -- 
> 2.7.4

Reply via email to