[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 16/16] libxl/arm: Add the size of ACPI tables to maxmem
On 2016/9/12 23:18, Julien Grall wrote: > Hi Shannon, > > On 02/09/16 03:55, Shannon Zhao wrote: >> From: Shannon Zhao <shannon.zhao@xxxxxxxxxx> >> >> Here it adds the ACPI tables size to set the target maxmem to avoid >> providing less available memory for guest. >> >> Signed-off-by: Shannon Zhao <shannon.zhao@xxxxxxxxxx> >> --- >> tools/libxl/libxl_arch.h | 2 +- >> tools/libxl/libxl_arm.c | 18 +++++++++++++++++- >> tools/libxl/libxl_arm.h | 4 ++++ >> tools/libxl/libxl_arm_acpi.c | 20 ++++++++++++++++++++ >> tools/libxl/libxl_arm_no_acpi.c | 6 ++++++ >> tools/libxl/libxl_dom.c | 2 +- >> tools/libxl/libxl_x86.c | 2 +- >> 7 files changed, 50 insertions(+), 4 deletions(-) >> >> diff --git a/tools/libxl/libxl_arch.h b/tools/libxl/libxl_arch.h >> index 337061f..d62fa4c 100644 >> --- a/tools/libxl/libxl_arch.h >> +++ b/tools/libxl/libxl_arch.h >> @@ -30,7 +30,7 @@ int libxl__arch_domain_save_config(libxl__gc *gc, >> /* arch specific internal domain creation function */ >> _hidden >> int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config >> *d_config, >> - uint32_t domid); >> + libxl__domain_build_state *state, >> uint32_t domid); >> >> /* setup arch specific hardware description, i.e. DTB on ARM */ >> _hidden >> diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c >> index e73d65e..c7d4f65 100644 >> --- a/tools/libxl/libxl_arm.c >> +++ b/tools/libxl/libxl_arm.c >> @@ -101,8 +101,24 @@ int libxl__arch_domain_save_config(libxl__gc *gc, >> } >> >> int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config >> *d_config, >> - uint32_t domid) >> + libxl__domain_build_state *state, >> uint32_t domid) >> { >> + libxl_domain_build_info *const info = &d_config->b_info; >> + libxl_ctx *ctx = libxl__gc_owner(gc); >> + int size; >> + >> + /* Add the size of ACPI tables to maxmem if ACPI is enabled for >> guest. */ >> + if (libxl_defbool_val(info->acpi)) { >> + size = libxl__get_acpi_size(gc, info, state); >> + if (size < 0) >> + return ERROR_FAIL; >> + if (xc_domain_setmaxmem(ctx->xch, domid, info->target_memkb + >> + LIBXL_MAXMEM_CONSTANT + (size + 1023) >> / 1024)) { > > I still have some concern about use info->target_memkb + > LIBXL_MAXMEM_CONSTANT here. What if the generic code decide to change > the computation? > > We may forgot to replicate here. My suggestion on the previous version > was to have in the common code > > xc_domain_setmaxmem(ctx->xch, domid, info->target_memkb + > LIBXL_MAXMEM_CONSTANT + libxl__arch_memory_constant()); > > Or a similar name. > Just to confirm, do you mean that having a arch function to get the size each arch needs and adding the size in libxl__build_pre()? Thanks, -- Shannon _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |