On 06/24/2014 03:41 AM, Nishanth Aravamudan wrote: > 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. >>> >>> <snip> >>> >>>> @@ -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?
As I understand SLOF can try using the whole node. -- Alexey