From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45270) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1an5kE-0001ys-0v for qemu-devel@nongnu.org; Mon, 04 Apr 2016 10:44:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1an5k8-000604-0L for qemu-devel@nongnu.org; Mon, 04 Apr 2016 10:44:45 -0400 Date: Mon, 4 Apr 2016 16:44:27 +0200 From: Igor Mammedov Message-ID: <20160404164427.3eed276b@igors-macbook-pro.local> In-Reply-To: <1459413561-30745-1-git-send-email-bharata@linux.vnet.ibm.com> References: <1459413561-30745-1-git-send-email-bharata@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC PATCH v2.1 00/12] Core based CPU hotplug for PowerPC sPAPR List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Bharata B Rao Cc: mjrosato@linux.vnet.ibm.com, agraf@suse.de, thuth@redhat.com, pkrempa@redhat.com, ehabkost@redhat.com, aik@ozlabs.ru, armbru@redhat.com, qemu-devel@nongnu.org, borntraeger@de.ibm.com, qemu-ppc@nongnu.org, pbonzini@redhat.com, mdroth@linux.vnet.ibm.com, afaerber@suse.de, david@gibson.dropbear.id.au On Thu, 31 Mar 2016 14:09:09 +0530 Bharata B Rao wrote: > Hi, >=20 > This is v2.1 of "Core based CPU hotplug for PowerPC sPAPR". v2 was > posted here: > https://lists.gnu.org/archive/html/qemu-ppc/2016-03/msg00201.html >=20 > I am making this v2.1 instead of v3 as this introduces a change in > device_add semantics and if we don't want to continue this, I will go > back to the previous v2 semantics from v3 onwards. v2 had > spapr-cpu-core device that served as CPU core device for all types of > PowerPCCPU threads. In this version however, spapr-cpu-core becomes > an abstract device and we will have different core devices for each > of the PowerPCCPU type. So in this version, the hotplug semantics > looks like this: >=20 > (qemu) device_add POWER8-spapr-cpu-core,id=3Dcore2,core=3D16[,threads=3D4] >=20 > cpu_model specification is gone as it becomes redundant with different > core types for each CPU type. CPU core types are defined only for > host, POWER7 and POWER8 models only (and not for their > variants/aliases) yet. >=20 > I have mostly taken care of all the review comments that I got for v2. Could you rebase on top of current master, pls? and fix compile error: hw/cpu/core.c: In function =E2=80=98core_prop_set_core=E2=80=99: hw/cpu/core.c:31:9: error: implicit declaration of function =E2=80=98error_= propagate=E2=80=99 [-Werror=3Dimplicit-function-declaration] error_propagate(errp, local_err); >=20 > Major changes in this version (v2.1) > ------------------------------------ > - Semantics change: spapr-cpu-core to POWER8-spapr-cpu-core and > likewise > - Included Igor's pre_plug patch. >=20 > Bharata B Rao (10): > exec: Remove cpu from cpus list during cpu_exec_exit() > exec: Do vmstate unregistration from cpu_exec_exit() > cpu: Add a sync version of cpu_remove() > cpu: Abstract CPU core type > spapr: Abstract CPU core device > spapr: Add CPU type specific core devices > spapr: convert boot CPUs into CPU core devices > spapr: CPU hotplug support > xics,xics_kvm: Handle CPU unplug correctly > spapr: CPU hot unplug support >=20 > Gu Zheng (1): > cpu: Reclaim vCPU objects >=20 > Igor Mammedov (1): > qdev: hotplug: Introduce HotplugHandler.pre_plug() callback >=20 > cpus.c | 51 +++++- > exec.c | 41 ++++- > hw/core/hotplug.c | 11 ++ > hw/core/qdev.c | 9 +- > hw/cpu/Makefile.objs | 1 + > hw/cpu/core.c | 87 ++++++++++ > hw/intc/xics.c | 14 ++ > hw/intc/xics_kvm.c | 8 +- > hw/ppc/Makefile.objs | 1 + > hw/ppc/spapr.c | 150 +++++++++++++++-- > hw/ppc/spapr_cpu_core.c | 349 > ++++++++++++++++++++++++++++++++++++++++ > hw/ppc/spapr_events.c | 3 + > hw/ppc/spapr_rtas.c | 24 +++ > include/hw/cpu/core.h | 31 ++++ > include/hw/hotplug.h | 14 +- > include/hw/ppc/spapr.h | 6 + > include/hw/ppc/spapr_cpu_core.h | 79 +++++++++ > include/hw/ppc/xics.h | 1 + > include/qom/cpu.h | 18 +++ > include/sysemu/kvm.h | 1 + > kvm-all.c | 57 ++++++- > kvm-stub.c | 5 + 22 files changed, 932 > insertions(+), 29 deletions(-) create mode 100644 hw/cpu/core.c > create mode 100644 hw/ppc/spapr_cpu_core.c > create mode 100644 include/hw/cpu/core.h > create mode 100644 include/hw/ppc/spapr_cpu_core.h >=20