From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andres Lagar-Cavilla Subject: [PATCH 3/7] libxenlight meta-resend: physmap slack for pv domains Date: Thu, 03 Dec 2009 12:05:19 -0500 Message-ID: <4B17EFCF.6090204@lagarcavilla.com> References: <4B16AB3F.4000809@lagarcavilla.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040100000201020907030703" Return-path: In-Reply-To: <4B16AB3F.4000809@lagarcavilla.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Stefano Stabellini , Vincent Hanquez , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------040100000201020907030703 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Contemplate a memory space slack for PV domains, since they do ballooning (or flipping network rx) and need some extra room in their pfn space. Note that this does not allocate any extra memory to the domain, it simply extends the physmap with some extra room for "bounce bufffering back" pfn's that are yielded to dom0. The default slack is set at 8MB. Signed-off-by: Andres Lagar-Cavilla --------------040100000201020907030703 Content-Type: text/x-patch; name="03_pv_mem_slack.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="03_pv_mem_slack.patch" # HG changeset patch # User Andres Lagar-Cavilla # Date 1259856754 18000 # Node ID 7315ca037a680d18a6c23d030139b5389a73000b # Parent e64cd1042530990b49647d6eeb1c4167f02d4f19 Contemplate a memory space slack for PV domains, since they do ballooning (or flipping network rx) and need some extra room in their pfn space. Note that this does not allocate any extra memory to the domain, it simply extends the physmap with some extra room for "bounce bufffering back" pfn's that are yielded to dom0. The default slack is set at 8MB. Signed-off-by: Andres Lagar-Cavilla diff -r e64cd1042530 -r 7315ca037a68 libxl.c --- a/libxl.c +++ b/libxl.c @@ -2034,6 +2034,8 @@ void init_build_info(libxl_domain_build_ b_info->u.hvm.acpi = 1; b_info->u.hvm.nx = 1; b_info->u.hvm.viridian = 0; + } else { + b_info->u.pv.slack_memkb = 8 * 1024; } } diff -r e64cd1042530 -r 7315ca037a68 libxl.h --- a/libxl.h +++ b/libxl.h @@ -80,6 +80,7 @@ typedef struct { char *timeoffset; } hvm; struct { + uint32_t slack_memkb; const char *cmdline; const char *ramdisk; const char *features; diff -r e64cd1042530 -r 7315ca037a68 libxl_dom.c --- a/libxl_dom.c +++ b/libxl_dom.c @@ -53,7 +53,9 @@ int build_pre(struct libxl_ctx *ctx, uin xc_set_hvm_param(ctx->xch, domid, HVM_PARAM_VPT_ALIGN, (unsigned long) info->vpt_align); xc_domain_max_vcpus(ctx->xch, domid, info->max_vcpus); xc_domain_setmaxmem(ctx->xch, domid, info->max_memkb + info->video_memkb); - xc_domain_set_memmap_limit(ctx->xch, domid, info->max_memkb); + xc_domain_set_memmap_limit(ctx->xch, domid, + (info->hvm) ? info->max_memkb : + (info->max_memkb + info->u.pv.slack_memkb)); if (info->hvm) { unsigned long shadow; --------------040100000201020907030703 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------040100000201020907030703--