[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 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.

Jan

> 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


 


Rackspace

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