[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: arm: reduce the size of the xen heap to max 1/8 RAM size
At 12:01 +0100 on 08 Aug (1375963297), Ian Campbell wrote: > On Tue, 2013-07-23 at 18:15 +0100, Ian Campbell wrote: > > Hi Keir, > > > > Was I mistaken about the domheap->xenheap fallback or have we cocked > > something up on ARM? > > Tim told me IRL that the fallback is deliberately not there. So I think > this patch is correct. > > @arm folks: ping ;-) Acked-by: Tim Deegan <tim@xxxxxxx> > > > > > Cheers, > > Ian. > > > > On Tue, 2013-07-23 at 18:12 +0100, Ian Campbell wrote: > > > From: Ian Campbell <ian.campbell@xxxxxxxxxx> > > > > > > When building a 1GB dom0 on a system with 2GB RAM we are running out of > > > domheap > > > pages, while there are still plenty of xenheap pages spare. > > > > > > I would have sworn that when the domheap was exhausted we would fall back > > > to > > > allocating xenheap pages but this doesn't appear to be the case. It's > > > possible > > > that we have setup something incorrectly on ARM but alloc_domheap_pages > > > pretty > > > clearly tries to allocate memory from MEMZONE_XEN+1..zone_hi. > > > > > > Without the fallback from domheap to xenheap taking 1GB of any system > > > with >1GB > > > of RAM for xenheap is excessive so instead set a limit of 1/8 of the total > > > amount of RAM. By way of comparison x86_32 used to have a static 12MB > > > xenheap > > > (which also included .text etc) and in theory supported up to 16GB RAM, > > > by that > > > measure 1/8 is plenty. > > > > > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > > > Cc: keir@xxxxxxx > > > --- > > > xen/arch/arm/setup.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c > > > index 2f9fdc8..195c28e 100644 > > > --- a/xen/arch/arm/setup.c > > > +++ b/xen/arch/arm/setup.c > > > @@ -316,14 +316,14 @@ static void __init setup_mm(unsigned long > > > dtb_paddr, size_t dtb_size) > > > * > > > * - must be 32 MiB aligned > > > * - must not include Xen itself or the boot modules > > > - * - must be at most 1 GiB > > > + * - must be at most 1/8 the total RAM in the system > > > * - must be at least 128M > > > * > > > * We try to allocate the largest xenheap possible within these > > > * constraints. > > > */ > > > heap_pages = (ram_size >> PAGE_SHIFT); > > > - xenheap_pages = min(1ul << (30 - PAGE_SHIFT), heap_pages); > > > + xenheap_pages = max(heap_pages/8, 128UL<<(20-PAGE_SHIFT)); > > > > > > do > > > { > > > > > > > > _______________________________________________ > > 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |