qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/7] cpu: add i386 cpu hot remove support
@ 2015-02-13 10:40 Zhu Guihua
  2015-02-13 10:40 ` [Qemu-devel] [PATCH v3 1/7] x86: add x86_cpu_unrealizefn() for cpu apic remove Zhu Guihua
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Zhu Guihua @ 2015-02-13 10:40 UTC (permalink / raw)
  To: qemu-devel
  Cc: Zhu Guihua, tangchen, guz.fnst, isimatu.yasuaki, anshul.makkar,
	chen.fan.fnst, imammedo, 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 v2 0/5] Common unplug and unplug request cb for memory and CPU hot-unplug
https://lists.nongnu.org/archive/html/qemu-devel/2015-01/msg03929.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 v4 00/10] cpu: add device_add foo-x86_64-cpu support
https://lists.nongnu.org/archive/html/qemu-devel/2015-02/msg02584.html

---
Changelog since v2:
 -drop ICC bus impl
 -fix delete cpu exceed 32 issue
 -fix bug about deleting the last cpu

Changelog since v1:
 -rebase on the latest version.
 -delete patch i386/cpu: add instance finalize callback, and put it into patchset
  [PATCH v3 0/6] cpu: add device_add foo-x86_64-cpu support.

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 (3):
  acpi/cpu: add cpu hot unplug request callback function
  acpi, pc: add cpu hot unplug callback support
  cpus: reclaim allocated vCPU objects

Zhu Guihua (2):
  acpi, pc: add cpu hot unplug request callback support
  acpi/cpu: add cpu hot unplug callback function

 cpus.c                            | 44 ++++++++++++++++++++
 hw/acpi/cpu_hotplug.c             | 87 ++++++++++++++++++++++++++++++++++++---
 hw/acpi/ich9.c                    | 17 ++++++--
 hw/acpi/piix4.c                   | 12 +++++-
 hw/core/qdev.c                    |  2 +-
 hw/i386/acpi-dsdt-cpu-hotplug.dsl | 16 ++++++-
 hw/i386/kvm/apic.c                |  5 +++
 hw/i386/pc.c                      | 68 ++++++++++++++++++++++++++++--
 hw/intc/apic.c                    |  9 ++++
 hw/intc/apic_common.c             | 21 ++++++----
 include/hw/acpi/cpu_hotplug.h     |  8 ++++
 include/hw/i386/apic_internal.h   |  1 +
 include/hw/qdev-core.h            |  1 +
 include/qom/cpu.h                 |  9 ++++
 include/sysemu/kvm.h              |  1 +
 kvm-all.c                         | 57 ++++++++++++++++++++++++-
 target-i386/cpu.c                 | 46 +++++++++++++++++++++
 17 files changed, 377 insertions(+), 27 deletions(-)

-- 
1.9.3

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

end of thread, other threads:[~2016-06-23  8:56 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-13 10:40 [Qemu-devel] [PATCH v3 0/7] cpu: add i386 cpu hot remove support Zhu Guihua
2015-02-13 10:40 ` [Qemu-devel] [PATCH v3 1/7] x86: add x86_cpu_unrealizefn() for cpu apic remove Zhu Guihua
2015-02-13 10:40 ` [Qemu-devel] [PATCH v3 2/7] acpi/cpu: add cpu hot unplug request callback function Zhu Guihua
2015-02-13 10:40 ` [Qemu-devel] [PATCH v3 3/7] acpi, pc: add cpu hot unplug request callback support Zhu Guihua
2015-02-13 10:40 ` [Qemu-devel] [PATCH v3 4/7] acpi/cpu: add cpu hot unplug callback function Zhu Guihua
2015-02-13 10:40 ` [Qemu-devel] [PATCH v3 5/7] acpi, pc: add cpu hot unplug callback support Zhu Guihua
2015-02-13 10:40 ` [Qemu-devel] [PATCH v3 6/7] cpu hotplug: implement function cpu_status_write() for vcpu ejection Zhu Guihua
2015-02-13 10:40 ` [Qemu-devel] [PATCH v3 7/7] cpus: reclaim allocated vCPU objects Zhu Guihua
2015-03-04  8:40   ` Bharata B Rao
2015-02-24  1:29 ` [Qemu-devel] [PATCH v3 0/7] cpu: add i386 cpu hot remove support Gu Zheng
2015-06-24 13:28 ` Eduardo Otubo
2015-06-26  3:37   ` Zhu Guihua
2015-06-30 13:47     ` Eduardo Otubo
2015-07-09 14:25     ` Eduardo Otubo
2015-07-13  1:45       ` Zhu Guihua
2016-06-22 12:12         ` Eduardo Otubo
2016-06-22 13:24           ` Igor Mammedov
2016-06-22 13:27             ` Eduardo Otubo
2016-06-22 14:45               ` Igor Mammedov
2016-06-23  8:54           ` Dou Liyang

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).