From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47633) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9ZVT-0005FE-PG for qemu-devel@nongnu.org; Mon, 29 Jun 2015 09:53:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z9ZVQ-00030G-Fd for qemu-devel@nongnu.org; Mon, 29 Jun 2015 09:53:55 -0400 Received: from e28smtp08.in.ibm.com ([122.248.162.8]:42786) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9ZVP-0002yq-Qc for qemu-devel@nongnu.org; Mon, 29 Jun 2015 09:53:52 -0400 Received: from /spool/local by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 29 Jun 2015 19:23:48 +0530 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by d28dlp03.in.ibm.com (Postfix) with ESMTP id EE2E71258053 for ; Mon, 29 Jun 2015 19:26:29 +0530 (IST) Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay03.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t5TDrkkC47317140 for ; Mon, 29 Jun 2015 19:23:46 +0530 Received: from d28av04.in.ibm.com (localhost [127.0.0.1]) by d28av04.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t5TDrEZS010054 for ; Mon, 29 Jun 2015 19:23:15 +0530 Date: Mon, 29 Jun 2015 19:23:10 +0530 From: Bharata B Rao Message-ID: <20150629135310.GK5569@in.ibm.com> References: <1435566027-17061-1-git-send-email-bharata@linux.vnet.ibm.com> <20150629143209.0ad4de0d@nial.brq.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150629143209.0ad4de0d@nial.brq.redhat.com> Subject: Re: [Qemu-devel] [PATCH v4 0/6] Refactoring pc_dimm_plug and NUMA node lookup API Reply-To: bharata@linux.vnet.ibm.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: pbonzini@redhat.com, david@gibson.dropbear.id.au, qemu-devel@nongnu.org, ehabkost@redhat.com On Mon, Jun 29, 2015 at 02:32:09PM +0200, Igor Mammedov wrote: > On Mon, 29 Jun 2015 13:50:21 +0530 > Bharata B Rao wrote: > > > Hi, > > > > Here is the v4 of the patchset that refactors pc_dimm_plug and adds > > an API to lookup NUMA node by address. > > > > - Refactoring pc_dimm_plug() helps other architectures like PowerPC > > to make use of common code. > > - API to lookup NUMA node id by address is required to support memory > > hotplug on PowerPC sPAPR guests. > > > > In addition to pc_dimm_plug() reorganization and NUMA node lookup > > API, this patchset also carries a patch to abort when > > HotplugHandlerClass::plug() fails for pc machine. > > > > The patchset that adds memory hotplug support to PowerPC sPAPR which > > was posted at > > http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg06574.html > > depends on this patchset. > > > > Changes in v4: > > ------------- > > - Ensure memory range information is stored in node_info[0] for > > non-NUMA configurations. (5/6) > > - Ensure numa_get_node() API looks up the given address in node 0 > > for non-NUMA configurations. (6/6) > > > > In addition the following changes based on Igor's review: > > > > - hhc->plug() shouldn't fail for PC arch, hence don't try to recover > > by calling pc_dimm_memory_unplug(). (2/6) > > - Use pc_dimm_memory_unplug() from pc_dimm_unplug(). (2/6) > > - Add a patch to use error_abort in hhc->plug(). (3/6) > > - Store exact address range (start, end and not end+1) in numa_info > > and modify the lookup logic accordingly. (4/6, 6/6) > > > > v3: http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg06768.html > > v2: https://lists.gnu.org/archive/html/qemu-devel/2015-06/msg05157.html > > v1: https://lists.gnu.org/archive/html/qemu-devel/2015-06/msg03212.html > > v0: https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg01078.html > > > > Bharata B Rao (6): > > pc,pc-dimm: Extract hotplug related fields in PCMachineState to a > > structure > > pc,pc-dimm: Factor out reusable parts in pc_dimm_plug to a separate > > routine > > pc: Abort if HotplugHandlerClass::plug() fails > > numa,pc-dimm: Store pc-dimm memory information in numa_info > > numa: Store boot memory address range in node_info > > numa: API to lookup NUMA node by address > > > > hw/i386/acpi-build.c | 2 +- > > hw/i386/pc.c | 84 +++++++------------------------------------ > > hw/mem/pc-dimm.c | 84 +++++++++++++++++++++++++++++++++++++++++++ > > include/hw/i386/pc.h | 7 ++-- > > include/hw/mem/pc-dimm.h | 15 ++++++++ > > include/sysemu/numa.h | 11 ++++++ > > numa.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++ > > 7 files changed, 219 insertions(+), 78 deletions(-) > > > > tested wrt PC memory hotplug, hence for series > > Tested-by: Igor Mammedov Thanks a lot. I have tested this with out-of-the-tree PowerPC sPAPR memory hotplug patchset for scenarios like hotplugging memory to non-NUMA guest, single and multiple NUMA node guest and guest with memory-less nodes. Regards, Bharata.