[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 3/7] libxenlight meta-resend: physmap slack for pv domains
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 <andres@xxxxxxxxxxxxxxxx> # HG changeset patch # User Andres Lagar-Cavilla <andres@xxxxxxxxxxxxxxxx> # 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 <andres@xxxxxxxxxxxxxxxx> 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; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |