From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40225) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wz8FN-0002hG-26 for qemu-devel@nongnu.org; Mon, 23 Jun 2014 13:41:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wz8FC-0006Kr-G6 for qemu-devel@nongnu.org; Mon, 23 Jun 2014 13:41:37 -0400 Received: from e36.co.us.ibm.com ([32.97.110.154]:57732) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wz8FC-0006KU-8A for qemu-devel@nongnu.org; Mon, 23 Jun 2014 13:41:26 -0400 Received: from /spool/local by e36.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 23 Jun 2014 11:41:25 -0600 Date: Mon, 23 Jun 2014 10:41:19 -0700 From: Nishanth Aravamudan Message-ID: <20140623174119.GC4323@linux.vnet.ibm.com> References: <1402905233-26510-1-git-send-email-aik@ozlabs.ru> <1402905233-26510-4-git-send-email-aik@ozlabs.ru> <20140620191000.GX16644@linux.vnet.ibm.com> <53A4F74B.6080607@ozlabs.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A4F74B.6080607@ozlabs.ru> Subject: Re: [Qemu-devel] [PATCH 3/7] spapr: Refactor spapr_populate_memory() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Alexander Graf On 21.06.2014 [13:08:59 +1000], Alexey Kardashevskiy wrote: > On 06/21/2014 05:10 AM, Nishanth Aravamudan wrote: > > On 16.06.2014 [17:53:49 +1000], Alexey Kardashevskiy wrote: > >> Current QEMU does not support memoryless NUMA nodes. > >> This prepares SPAPR for that. > >> > >> This moves 2 calls of spapr_populate_memory_node() into > >> the existing loop which handles nodes other than than > >> the first one. > > > > > > > >> @@ -719,6 +704,12 @@ static int spapr_populate_memory(sPAPREnvironment *spapr, void *fdt) > >> node_size = ram_size - mem_start; > >> } > >> } > >> + if (!mem_start) { > >> + /* ppc_spapr_init() checks for rma_size <= node0_size already */ > >> + spapr_populate_memory_node(fdt, i, 0, spapr->rma_size); > >> + mem_start += spapr->rma_size; > >> + node_size -= spapr->rma_size; > >> + } > > > > Why is this needed to be separate? The RMA fits in the first node, per > > the comment and the prior checks, so can't we just leave the first node > > alone? > > This is the way to tell SLOF what memory it can use. It can use RMA and it > will use first available memory node. Right, but why does the RMA need to be in it's own memory node? Can't it just be part of the first present memory node? Thanks, Nish