WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH 1/7] xen: use maximum reservation to limit amount

To: David Vrabel <david.vrabel@xxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH 1/7] xen: use maximum reservation to limit amount of usable RAM
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Wed, 21 Sep 2011 11:09:12 -0400
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Wed, 21 Sep 2011 08:17:06 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1316089768-22461-2-git-send-email-david.vrabel@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1316089768-22461-1-git-send-email-david.vrabel@xxxxxxxxxx> <1316089768-22461-2-git-send-email-david.vrabel@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.21 (2010-09-15)
On Thu, Sep 15, 2011 at 01:29:22PM +0100, David Vrabel wrote:
> From: David Vrabel <david.vrabel@xxxxxxxxxx>
> 
> Use the domain's maximum reservation to limit the amount of extra RAM
> for the memory balloon. This reduces the size of the pages tables and
> the amount of reserved low memory (which defaults to about 1/32 of the
> total RAM).
> 
> On a system with 8 GiB of RAM with the domain limited to 1 GiB the
> kernel reports:
> 
> Before:
> 
> Memory: 627792k/4472000k available
> 
> After:
> 
> Memory: 549740k/11132224k available
> 
> A increase of about 76 MiB (~1.5% of the unused 7 GiB).  The reserved
> low memory is also reduced from 253 MiB to 32 MiB.  The total
> additional usable RAM is 329 MiB.
> 
> For dom0, this requires at patch to Xen ('x86: use 'dom0_mem' to limit
> the number of pages for dom0')[1].

Not going to pick this one up as it already is in 3.1.

> 
> [1] http://lists.xensource.com/archives/html/xen-devel/2011-08/msg00567.html
> 
> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
> ---
>  arch/x86/xen/setup.c |   19 +++++++++++++++++++
>  1 files changed, 19 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index df118a8..c3b8d44 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -184,6 +184,19 @@ static unsigned long __init xen_set_identity(const 
> struct e820entry *list,
>                                       PFN_UP(start_pci), PFN_DOWN(last));
>       return identity;
>  }
> +
> +static unsigned long __init xen_get_max_pages(void)
> +{
> +     unsigned long max_pages = MAX_DOMAIN_PAGES;
> +     domid_t domid = DOMID_SELF;
> +     int ret;
> +
> +     ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &domid);
> +     if (ret > 0)
> +             max_pages = ret;
> +     return min(max_pages, MAX_DOMAIN_PAGES);
> +}
> +
>  /**
>   * machine_specific_memory_setup - Hook for machine specific memory setup.
>   **/
> @@ -292,6 +305,12 @@ char * __init xen_memory_setup(void)
>  
>       sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map);
>  
> +     extra_limit = xen_get_max_pages();
> +     if (extra_limit >= max_pfn)
> +             extra_pages = extra_limit - max_pfn;
> +     else
> +             extra_pages = 0;
> +
>       extra_pages += xen_return_unused_memory(xen_start_info->nr_pages, 
> &e820);
>  
>       /*
> -- 
> 1.7.2.5

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel