[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4] libxl_set_memory_target: retain the same maxmem offset on top of the current target
On Thu, 26 Feb 2015, Wei Liu wrote: > On Wed, Feb 25, 2015 at 03:18:45PM +0000, Stefano Stabellini wrote: > > In libxl_set_memory_target when setting the new maxmem, retain the same > > offset on top of the current target. In the future the offset will > > include memory allocated by QEMU for rom files. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > > > > --- > > > > Changes in v4: > > - remove new_target_memkb <= 0 check. > > > > Changes in v3: > > - move call to libxl__uuid2string and libxl_dominfo_dispose earlier; > > - error out if new_target_memkb <= 0. > > > > Changes in v2: > > - remove LIBXL_MAXMEM_CONSTANT from LIBXL__LOG_ERRNO. > > --- > > tools/libxl/libxl.c | 12 +++++++----- > > 1 file changed, 7 insertions(+), 5 deletions(-) > > > > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c > > index 52a783a..143cb3e 100644 > > --- a/tools/libxl/libxl.c > > +++ b/tools/libxl/libxl.c > > @@ -4681,6 +4681,12 @@ int libxl_set_memory_target(libxl_ctx *ctx, uint32_t > > domid, > > char *uuid; > > xs_transaction_t t; > > > > Should have: > > libxl_dominfo_init(&ptr); > > > + if (libxl_domain_info(ctx, &ptr, domid) < 0) > > + goto out_no_transaction; > > + > > + uuid = libxl__uuid2string(gc, ptr.uuid); > > + libxl_dominfo_dispose(&ptr); > > + > > Since you need to use ptr later, you cannot dispose it here. > > You can safely call dispose before returning to caller. > > > retry_transaction: > > t = xs_transaction_start(ctx->xsh); > > > > @@ -4756,7 +4762,7 @@ retry_transaction: > > } > > > > if (enforce) { > > - memorykb = new_target_memkb + videoram; > > + memorykb = ptr.max_memkb - current_target_memkb + new_target_memkb; > > rc = xc_domain_setmaxmem(ctx->xch, domid, memorykb); > > if (rc != 0) { > > LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, > > @@ -4786,12 +4792,8 @@ retry_transaction: > > goto out; > > } > > > > - libxl_dominfo_init(&ptr); > > - xcinfo2xlinfo(ctx, &info, &ptr); > > If I'm not mistaken, &info is only used here. I think you can delete > info and relevant code all together. info is used later as an argument to xc_domain_getinfolist > > > - uuid = libxl__uuid2string(gc, ptr.uuid); > > libxl__xs_write(gc, t, libxl__sprintf(gc, "/vm/%s/memory", uuid), > > "%"PRIu32, new_target_memkb / 1024); > > - libxl_dominfo_dispose(&ptr); > > > > out: > > if (!xs_transaction_end(ctx->xsh, t, abort_transaction) > > -- > > 1.7.10.4 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |