From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33172) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vm2n4-0001pd-D4 for qemu-devel@nongnu.org; Thu, 28 Nov 2013 09:42:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vm2mw-0002OM-Jh for qemu-devel@nongnu.org; Thu, 28 Nov 2013 09:42:02 -0500 Received: from mx1.redhat.com ([209.132.183.28]:52516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vm2mw-0002OE-Bf for qemu-devel@nongnu.org; Thu, 28 Nov 2013 09:41:54 -0500 Date: Thu, 28 Nov 2013 15:41:39 +0100 From: Igor Mammedov Message-ID: <20131128154139.6e9cbfe3@nial.usersys.redhat.com> In-Reply-To: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC qom-cpu v4 00/10] i386: add cpu hot remove support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Chen Fan Cc: qemu-devel@nongnu.org, Andreas =?ISO-8859-1?B?RuRyYmVy?= On Wed, 9 Oct 2013 17:43:08 +0800 Chen Fan wrote: > Via implementing ACPI standard methods _EJ0 in bios, after Guest OS hot r= emove > one vCPU, it is able to send a signal to QEMU, then QEMU could notify > the assigned vCPU of exiting. meanwhile, and intruduce the QOM command 'c= pu-del' to remove > vCPU from QEMU itself. have you tried following sequence: cpu-add 1 cpu-add 2 cpu-del 1 and then do migration? >=20 > this work is based on Andreas F=E4rber's qom-cpu branch tree. > git://github.com/afaerber/qemu-cpu.git >=20 > this series patches must be used with seabios patch and KVM patch togethe= r. >=20 > for KVM patches: > http://comments.gmane.org/gmane.comp.emulators.kvm.devel/114347 >=20 > for seabios patches: > http://comments.gmane.org/gmane.comp.emulators.qemu/230460 >=20 > Chen Fan (10): > x86: move apic_state field from CPUX86State to X86CPU > apic: remove redundant variable 'apic_no' from apic_init_common() > apic: remove local_apics array and using CPU_FOREACH instead > x86: add x86_cpu_unrealizefn() for cpu apic remove > qmp: add 'cpu-del' command support > qom cpu: rename variable 'cpu_added_notifier' to > 'cpu_hotplug_notifier' > qom cpu: add UNPLUG cpu notifier support > i386: implement pc interface pc_hot_del_cpu() > piix4: implement function cpu_status_write() for vcpu ejection > cpus: reclaim allocated vCPU objects >=20 > cpu-exec.c | 2 +- > cpus.c | 51 +++++++++++++++++++++-- > hw/acpi/piix4.c | 66 ++++++++++++++++++++++++------ > hw/i386/kvm/apic.c | 18 +++++++- > hw/i386/kvmvapic.c | 8 ++-- > hw/i386/pc.c | 51 ++++++++++++++++++----- > hw/i386/pc_piix.c | 3 +- > hw/intc/apic.c | 91 ++++++++++++++++++++++-------------= ------ > hw/intc/apic_common.c | 17 ++------ > include/hw/boards.h | 2 + > include/hw/i386/apic_internal.h | 6 +-- > include/hw/i386/pc.h | 1 + > include/qom/cpu.h | 20 +++++++++ > include/sysemu/kvm.h | 1 + > include/sysemu/sysemu.h | 2 +- > kvm-all.c | 25 +++++++++++ > qapi-schema.json | 12 ++++++ > qmp-commands.hx | 23 +++++++++++ > qmp.c | 9 ++++ > qom/cpu.c | 26 +++++++++--- > target-i386/cpu-qom.h | 5 +++ > target-i386/cpu.c | 57 ++++++++++++++++++++------ > target-i386/cpu.h | 4 -- > target-i386/helper.c | 9 ++-- > target-i386/kvm.c | 23 +++++------ > target-i386/misc_helper.c | 8 ++-- > 26 files changed, 403 insertions(+), 137 deletions(-) >=20