On 08/03/2016 12:49 AM, Jim Fehlig wrote: > 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. > > Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxx> > --- > > I ensured libxl_get_required_shadow_memory() was available > as far back as Xen 4.4, which is the minimum version supported > by the libxl driver. Cool, and FWIW, Looks good to me: Acked-by: Joao Martins <joao.m.martins@xxxxxxxxxx> (Also tested an HVM guest in which codepath goes through): > src/libxl/libxl_conf.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c > index 1344604..5202ca1 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 > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list