[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 Fri, 2015-09-04 at 13:50 +0100, Julien Grall wrote:
> 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"

WFM and my ack would apply with this in place too. (s/setup/setting up/ if
I were feeling pedantic)

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

_______________________________________________
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®.