From: Alexandre DERUMIER <aderumier@odiso.com>
To: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
tangchen@cn.fujitsu.com,
chen fan fnst <chen.fan.fnst@cn.fujitsu.com>,
isimatu yasuaki <isimatu.yasuaki@jp.fujitsu.com>,
Igor Mammedov <imammedo@redhat.com>,
guz fnst <guz.fnst@cn.fujitsu.com>,
Anshul Makkar <anshul.makkar@profitbricks.com>,
afaerber <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH v2 00/11] cpu: add i386 cpu hot remove support
Date: Fri, 23 Jan 2015 11:24:17 +0100 (CET) [thread overview]
Message-ID: <884906902.4955995.1422008657285.JavaMail.zimbra@oxygem.tv> (raw)
In-Reply-To: <1983422143.4955993.1422008651186.JavaMail.zimbra@oxygem.tv>
Hello,
I'm currently testing the new cpu unplug features,
Works fine here with debian guests and kernel 3.14.
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
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"
(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!"
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
----- Mail original -----
De: "Zhu Guihua" <zhugh.fnst@cn.fujitsu.com>
À: "qemu-devel" <qemu-devel@nongnu.org>
Cc: "Zhu Guihua" <zhugh.fnst@cn.fujitsu.com>, tangchen@cn.fujitsu.com, "guz fnst" <guz.fnst@cn.fujitsu.com>, "isimatu yasuaki" <isimatu.yasuaki@jp.fujitsu.com>, "Anshul Makkar" <anshul.makkar@profitbricks.com>, "chen fan fnst" <chen.fan.fnst@cn.fujitsu.com>, "Igor Mammedov" <imammedo@redhat.com>, "afaerber" <afaerber@suse.de>
Envoyé: Mercredi 14 Janvier 2015 08:44:53
Objet: [Qemu-devel] [PATCH v2 00/11] cpu: add i386 cpu hot remove support
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.
[RESEND PATCH v1 0/5] Common unplug and unplug request cb for memory and CPU hot-unplug
https://lists.nongnu.org/archive/html/qemu-devel/2015-01/msg00429.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 v3 0/7] cpu: add device_add foo-x86_64-cpu support
https://lists.nongnu.org/archive/html/qemu-devel/2015-01/msg01552.html
---
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 (5):
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 | 9 ++++
include/sysemu/kvm.h | 1 +
kvm-all.c | 57 ++++++++++++++++++++++++-
target-i386/cpu.c | 46 ++++++++++++++++++++
19 files changed, 378 insertions(+), 27 deletions(-)
--
1.9.3
next prev parent reply other threads:[~2015-01-23 10:24 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 7:44 [Qemu-devel] [PATCH v2 00/11] cpu: add i386 cpu hot remove support Zhu Guihua
2015-01-14 7:44 ` [Qemu-devel] [PATCH v2 01/11] x86: add x86_cpu_unrealizefn() for cpu apic remove Zhu Guihua
2015-01-14 7:44 ` [Qemu-devel] [PATCH v2 02/11] acpi/cpu: add cpu hot unplug request callback function Zhu Guihua
2015-01-14 7:44 ` [Qemu-devel] [PATCH v2 03/11] acpi/piix4: add cpu hot unplug request callback support Zhu Guihua
2015-01-14 7:44 ` [Qemu-devel] [PATCH v2 04/11] acpi/ich9: " Zhu Guihua
2015-01-14 7:44 ` [Qemu-devel] [PATCH v2 05/11] pc: " Zhu Guihua
2015-01-14 7:44 ` [Qemu-devel] [PATCH v2 06/11] acpi/cpu: add cpu hot unplug callback function Zhu Guihua
2015-01-14 7:45 ` [Qemu-devel] [PATCH v2 07/11] acpi/piix4: add cpu hot unplug callback support Zhu Guihua
2015-01-14 7:45 ` [Qemu-devel] [PATCH v2 08/11] acpi/ich9: add cpu hot unplug support Zhu Guihua
2015-01-14 7:45 ` [Qemu-devel] [PATCH v2 09/11] pc: add cpu hot unplug callback support Zhu Guihua
2015-01-14 7:45 ` [Qemu-devel] [PATCH v2 10/11] cpu hotplug: implement function cpu_status_write() for vcpu ejection Zhu Guihua
2015-01-14 7:45 ` [Qemu-devel] [PATCH v2 11/11] cpus: reclaim allocated vCPU objects Zhu Guihua
[not found] ` <1983422143.4955993.1422008651186.JavaMail.zimbra@oxygem.tv>
2015-01-23 10:24 ` Alexandre DERUMIER [this message]
2015-01-26 2:01 ` [Qemu-devel] [PATCH v2 00/11] cpu: add i386 cpu hot remove support Zhu Guihua
[not found] ` <1931909388.5166129.1422242365253.JavaMail.zimbra@oxygem.tv>
2015-01-26 3:19 ` Alexandre DERUMIER
2015-01-26 3:25 ` Alexandre DERUMIER
2015-01-26 3:41 ` Zhu Guihua
2015-01-26 3:47 ` Zhu Guihua
[not found] ` <398448984.5202446.1422271649770.JavaMail.zimbra@oxygem.tv>
2015-01-26 11:27 ` Alexandre DERUMIER
2015-01-27 2:00 ` Zhu Guihua
2015-01-27 12:26 ` Bharata B Rao
2015-02-03 8:41 ` Zhi Yong Wu
2015-02-06 7:54 ` Zhu Guihua
2015-02-10 12:38 ` Zhi Yong Wu
2015-02-12 11:49 ` Zhu Guihua
2015-02-13 11:08 ` Zhu Guihua
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=884906902.4955995.1422008657285.JavaMail.zimbra@oxygem.tv \
--to=aderumier@odiso.com \
--cc=afaerber@suse.de \
--cc=anshul.makkar@profitbricks.com \
--cc=chen.fan.fnst@cn.fujitsu.com \
--cc=guz.fnst@cn.fujitsu.com \
--cc=imammedo@redhat.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=qemu-devel@nongnu.org \
--cc=tangchen@cn.fujitsu.com \
--cc=zhugh.fnst@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).