|
[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
Hi Keir,
Was I mistaken about the domheap->xenheap fallback or have we cocked
something up on ARM?
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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |