From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39412) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9UJn-00020r-SA for qemu-devel@nongnu.org; Mon, 29 Jun 2015 04:21:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z9UJk-0003wK-M9 for qemu-devel@nongnu.org; Mon, 29 Jun 2015 04:21:31 -0400 Received: from e23smtp07.au.ibm.com ([202.81.31.140]:58115) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9UJk-0003va-4z for qemu-devel@nongnu.org; Mon, 29 Jun 2015 04:21:28 -0400 Received: from /spool/local by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 29 Jun 2015 18:21:24 +1000 Received: from d23relay09.au.ibm.com (d23relay09.au.ibm.com [9.185.63.181]) by d23dlp01.au.ibm.com (Postfix) with ESMTP id 474BA2CE804E for ; Mon, 29 Jun 2015 18:21:21 +1000 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay09.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t5T8LCvL262480 for ; Mon, 29 Jun 2015 18:21:21 +1000 Received: from d23av03.au.ibm.com (localhost [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t5T8KlQI018972 for ; Mon, 29 Jun 2015 18:20:48 +1000 From: Bharata B Rao Date: Mon, 29 Jun 2015 13:50:21 +0530 Message-Id: <1435566027-17061-1-git-send-email-bharata@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v4 0/6] Refactoring pc_dimm_plug and NUMA node lookup API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, imammedo@redhat.com, Bharata B Rao , ehabkost@redhat.com, david@gibson.dropbear.id.au 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(-) -- 2.1.0