From: Jim Fehlig Date: Tue, 2 Aug 2016 23:36:34 +0000 (-0600) Subject: libxl: allow libxl to calculate shadow mem requirements X-Git-Tag: v2.2.0-rc1~166 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0960aab7e8aa11bd66edd69c9edba35a3727f6a;p=thirdparty%2Flibvirt.git libxl: allow libxl to calculate shadow mem requirements Long, long ago before libxl_get_required_shadow_memory() was made publicly available, its code was copied to the libxl driver for calculating shadow memory requirements of HVM domains. Long ago, libxl_get_required_shadow_memory() was exported in libxl_utils.h and included in xen-devel packages everywhere. Remove the copied code, which has become stale, and let libxl provode a proper shadow memory value. --- diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 13446047d3..5202ca12de 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -493,15 +493,10 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, } } - /* - * The following comment and calculation were taken directly from - * libxenlight's internal function libxl_get_required_shadow_memory(): - * - * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map, - * plus 1 page per MiB of RAM to shadow the resident processes. - */ - b_info->shadow_memkb = 4 * (256 * libxl_bitmap_count_set(&b_info->avail_vcpus) + - 2 * (b_info->max_memkb / 1024)); + /* Allow libxl to calculate shadow memory requirements */ + b_info->shadow_memkb = + libxl_get_required_shadow_memory(b_info->max_memkb, + b_info->max_vcpus); } else { /* * For compatibility with the legacy xen toolstack, default to pygrub