[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/NUMA: make init_node_heap() respect Xen heap limit



On 04/09/15 13:02, Jan Beulich wrote:
>>>> On 04.09.15 at 13:29, <julien.grall@xxxxxxxxxx> wrote:
>> Anyway, I tried your suggestion to dropped the call to xenheap_max_mfn when 
>> Xen
>> setups the xenheap for arm64 and it allows me to boot correctly Xen on 
>> X-gene.
>> See patch below, I can send the patch in a separate thread if necessary.
> 
> That would depend on Ian and Wei - to me it looks okay this way,
> perhaps minus the title wanting to be re-written.

I took the previous commit message and rewrite it a bit but forgot to
update the title. How about:

"xen/arm64: Remove call to xenheap_max_mfn when setup the xenheap"

>> commit b11ab8e4982228d7944e11010f5b8eec890caf30
>> Author: Julien Grall <julien.grall@xxxxxxxxxx>
>> Date:   Thu Sep 3 21:49:31 2015 +0100
>>
>>     xen: pagealloc: Correctly calculate the number of xenheap bits
>>     
>>     The commit 88e3ed61642bb393458acc7a9bd2f96edc337190 "x86/NUMA: make
>>     init_node_heap() respect Xen heap limit" breaks boot on the arm64 board
>>     X-Gene.
>>     
>>     The xenheap bits variable is used to know the last RAM MFN always mapped
>>     in Xen virtual memory. If the value is 0, it means that all the memory is
>>     always mapped in Xen virtual memory.
>>     
>>     On X-gene the RAM bank resides above 128GB and last xenheap MFN is
>>     0x4400000. With the new way to calculate the number of bits, xenheap_bits
>>     will be equal to 38 bits. This will result to hide all the RAM and the
>>     impossibility to allocate xenheap memory.
>>     
>>     Given that aarch64 have always all the memory mapped in Xen virtual
>>     memory, it's not necessary to call xenheap_max_mfn which set the number
>>     of bits.
>>     
>>     Suggested-by: Jan Beulich <jbeulich@xxxxxxxx>
>>     Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
>>
>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
>> index 6626eba..48f734f 100644
>> --- a/xen/arch/arm/setup.c
>> +++ b/xen/arch/arm/setup.c
>> @@ -665,7 +665,6 @@ static void __init setup_mm(unsigned long dtb_paddr, 
>> size_t dtb_size)
>>      xenheap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
>>      xenheap_mfn_start = ram_start >> PAGE_SHIFT;
>>      xenheap_mfn_end = ram_end >> PAGE_SHIFT;
>> -    xenheap_max_mfn(xenheap_mfn_end);
>>  
>>      /*
>>       * Need enough mapped pages for copying the DTB.
>> -- 
>> Julien Grall
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
> 


-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.