qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/12] cpu: add i386 cpu hot remove support
@ 2014-12-12  8:43 Gu Zheng
  2014-12-12  8:43 ` [Qemu-devel] [PATCH 01/12] x86: add x86_cpu_unrealizefn() for cpu apic remove Gu Zheng
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Gu Zheng @ 2014-12-12  8:43 UTC (permalink / raw)
  To: imammedo
  Cc: zhugh.fnst, qemu-devel, tangchen, guz.fnst, isimatu.yasuaki,
	chen.fan.fnst, anshul.makkar, afaerber

This series is based on chen fan's previous i386 cpu hot remove patchset:
https://lists.nongnu.org/archive/html/qemu-devel/2013-12/msg04266.html

Via implementing ACPI standard methods _EJ0 in ACPI table, after Guest
OS remove one vCPU online, the fireware will store removed bitmap to
QEMU, then QEMU could know to notify the assigned vCPU of exiting.
Meanwhile, intruduce the QOM command 'device_del' to remove vCPU from
QEMU itself.

The whole work is based on the new hot plug/unplug framework, ,the unplug request
callback does the pre-check and send the request, unplug callback does the
removal handling.

This series depends on tangchen's common hot plug/unplug enhance patchset.
[PATCH] Common unplug and unplug request cb for memory and CPU hot-unplug.
https://lists.nongnu.org/archive/html/qemu-devel/2014-12/msg01462.html

The is the second half of the previous series:                                      
[RFC V2 00/10] cpu: add device_add foo-x86_64-cpu and i386 cpu hot remove support
https://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg04779.html             

If you want to test the series, you need to apply the 'device_add foo-x86_64-cpu'
patchset first:
[PATCH V2 0/6] cpu: add device_add foo-x86_64-cpu support
https://lists.nongnu.org/archive/html/qemu-devel/2014-12/msg01812.html

---
Changelog since RFC:
 -splited the i386 cpu hot remove into single thread.
 -replaced apic_no with apic_id, so does the related stuff to make it
  work with arbitrary CPU hotadd.
 -add the icc_device_unrealize callback to handle apic unrealize.
 -rework on the new hot plug/unplug platform.
---

Chen Fan (2):
  x86: add x86_cpu_unrealizefn() for cpu apic remove
  cpu hotplug: implement function cpu_status_write() for vcpu ejection

Gu Zheng (6):
  i386/cpu: add instance finalize callback
  acpi/cpu: add cpu hot unplug request callback function
  acpi/piix4: add cpu hot unplug callback support
  acpi/ich9: add cpu hot unplug support
  pc: add cpu hot unplug callback support
  cpus: reclaim allocated vCPU objects

Zhu Guihua (4):
  acpi/piix4: add cpu hot unplug request callback support
  acpi/ich9: add cpu hot unplug request callback support
  pc: add cpu hot unplug request callback support
  acpi/cpu: add cpu hot unplug callback function

 cpus.c                            |   44 ++++++++++++++++++
 hw/acpi/cpu_hotplug.c             |   88 ++++++++++++++++++++++++++++++++++---
 hw/acpi/ich9.c                    |   17 +++++--
 hw/acpi/piix4.c                   |   12 ++++-
 hw/core/qdev.c                    |    2 +-
 hw/cpu/icc_bus.c                  |   11 +++++
 hw/i386/acpi-dsdt-cpu-hotplug.dsl |    6 ++-
 hw/i386/kvm/apic.c                |    8 +++
 hw/i386/pc.c                      |   62 ++++++++++++++++++++++++--
 hw/intc/apic.c                    |   10 ++++
 hw/intc/apic_common.c             |   21 +++++---
 include/hw/acpi/cpu_hotplug.h     |    8 +++
 include/hw/cpu/icc_bus.h          |    1 +
 include/hw/i386/apic_internal.h   |    1 +
 include/hw/qdev-core.h            |    1 +
 include/qom/cpu.h                 |   10 ++++
 include/sysemu/kvm.h              |    1 +
 kvm-all.c                         |   57 +++++++++++++++++++++++-
 target-i386/cpu.c                 |   54 ++++++++++++++++++++++
 19 files changed, 387 insertions(+), 27 deletions(-)

-- 
1.7.7

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-12-19  5:16 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-12  8:43 [Qemu-devel] [PATCH 00/12] cpu: add i386 cpu hot remove support Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 01/12] x86: add x86_cpu_unrealizefn() for cpu apic remove Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 02/12] i386/cpu: add instance finalize callback Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 03/12] acpi/cpu: add cpu hot unplug request callback function Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 04/12] acpi/piix4: add cpu hot unplug request callback support Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 05/12] acpi/ich9: " Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 06/12] pc: " Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 07/12] acpi/cpu: add cpu hot unplug callback function Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 08/12] acpi/piix4: add cpu hot unplug callback support Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 09/12] acpi/ich9: add cpu hot unplug support Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 10/12] pc: add cpu hot unplug callback support Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 11/12] cpu hotplug: implement function cpu_status_write() for vcpu ejection Gu Zheng
2014-12-12  8:43 ` [Qemu-devel] [PATCH 12/12] cpus: reclaim allocated vCPU objects Gu Zheng
2014-12-19  5:00 ` [Qemu-devel] [PATCH 00/12] cpu: add i386 cpu hot remove support Gu Zheng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).