Changes from v1:
  - be conservative, drop QTAIL_*() macros hunks and do list element
    check/cleanup localy in cpu_exec_exit()
  - fix conflict caused by above
  - update Reviewed-bys fom v1
  - drop spapr patches as they will be a bit different and depend
    on not yet applied to master patch:
     'spapr: disintricate core-id from DT semantics'

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-v2
 to view
     https://github.com/imammedo/qemu/commits/cpu-index-stable-v2

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


Igor Mammedov (6):
  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 not been explictly set
  qdev: fix object reference leak in case device.realize() fails
  pc: init CPUState->cpu_index with index in possible_cpus[]
  Revert "pc: Enforce adding CPUs contiguously and removing them in
    opposite order"

 bsd-user/qemu.h         |  2 --
 include/exec/exec-all.h | 12 +++++++++
 include/qom/cpu.h       |  2 ++
 linux-user/qemu.h       |  2 --
 exec.c                  | 66 +++++++++----------------------------------------
 hw/core/qdev.c          |  8 +++++-
 hw/i386/pc.c            | 38 +++-------------------------
 qom/cpu.c               |  2 +-
 8 files changed, 38 insertions(+), 94 deletions(-)

-- 
2.7.4


Reply via email to