From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y96JF-00027M-2o for qemu-devel@nongnu.org; Thu, 08 Jan 2015 01:11:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y96JA-0006iK-M2 for qemu-devel@nongnu.org; Thu, 08 Jan 2015 01:11:05 -0500 Received: from e28smtp09.in.ibm.com ([122.248.162.9]:41278) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y96JA-0006i6-2R for qemu-devel@nongnu.org; Thu, 08 Jan 2015 01:11:00 -0500 Received: from /spool/local by e28smtp09.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 8 Jan 2015 11:40:57 +0530 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id 415013940024 for ; Thu, 8 Jan 2015 11:40:55 +0530 (IST) Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65]) by d28relay03.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t086Am8A66846830 for ; Thu, 8 Jan 2015 11:40:48 +0530 Received: from d28av03.in.ibm.com (localhost [127.0.0.1]) by d28av03.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t086AcRB031785 for ; Thu, 8 Jan 2015 11:40:39 +0530 From: Bharata B Rao Date: Thu, 8 Jan 2015 11:40:07 +0530 Message-Id: <1420697420-16053-1-git-send-email-bharata@linux.vnet.ibm.com> Subject: [Qemu-devel] [RFC PATCH v1 00/13] CPU and Memory hotplug for PowerPC guests List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: imammedo@redhat.com, Bharata B Rao , mdroth@linux.vnet.ibm.com, agraf@suse.de This patchset enables CPU and memory hotplug support for PowerPC guests. Changes in this patchset (v1): - Based on top of Michael Roth's tree (https://github.com/mdroth/qemu/commits/spapr-hotplug-core) which serves as base for his PCI hotplug patches too. - Switched to device_add/del semantics instead of cpu-add. - Supporting CPU hot unplug now. - Added patches to enable memory hotplug. - Added ibm,dynamic-reconfiguration-memory support which is needed for memory hotplug. v0 - http://lists.nongnu.org/archive/html/qemu-devel/2014-09/msg00752.html CPU hotplug ----------- - Works with BE guest, has issues with LE guest. Has been tested on BE host only. - Adding a core (and all its threads) in response to device_add command. Similarly removing a core via device_del will remove all the threads. - Using Gu Zheng's "reclaim vCPU objects" patch to remove and reuse the vCPU objects after CPUs removal. (Gu Zheng's original patch: http://lists.gnu.org/archive/html/qemu-devel/2014-12/msg01829.html) Memory hotplug -------------- - Able to get an LMB added with the current patchset, but there are issues which I am still debugging. - Re-using pc-dimm infrastructure (hw/mem/pc-dimm.c) to support memory hotplug on PowerPC. - Tested with Nathan Fontenot's memory hotplug kernel patches (with additions to drive memory hotplug from EPOW interrupt path) (https://www.marc.info/?l=linuxppc-embedded&m=141626066317143&w=2) Bharata B Rao (11): spapr: Add DRC dt entries for CPUs spapr: Consider max_cpus during xics initialization spapr: Factor out CPU initialization code into realizefn spapr: Support ibm,lrdr-capacity device tree property spapr: CPU hotplug support spapr: Start all the threads of CPU core when core is hotplugged spapr: Enable CPU hotplug for POWER8 CPU family spapr: CPU hot unplug support spapr: Initialize hotplug memory address space spapr: Support ibm,dynamic-reconfiguration-memory spapr: Memory hotplug support Gu Zheng (1): cpus, spapr: reclaim allocated vCPU objects Michael Roth (1): spapr: enable PHB/CPU/LMB hotplug for pseries-2.3 cpus.c | 44 +++ default-configs/ppc64-softmmu.mak | 1 + hw/ppc/spapr.c | 744 ++++++++++++++++++++++++++++++++++---- hw/ppc/spapr_events.c | 11 +- hw/ppc/spapr_hcall.c | 51 ++- hw/ppc/spapr_rtas.c | 28 +- include/hw/ppc/spapr.h | 27 +- include/qom/cpu.h | 11 + include/sysemu/kvm.h | 1 + kvm-all.c | 57 ++- target-ppc/translate_init.c | 50 ++- 11 files changed, 918 insertions(+), 107 deletions(-) -- 2.1.0