[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 2/3] xen/x86: add dom0 memory sizing variants
>>> On 06.12.18 at 09:06, <jgross@xxxxxxxx> wrote: > Today the memory size of dom0 can be specified only in terms of bytes > (either an absolute value or "host-mem - value"). When dom0 shouldn't > be auto-ballooned this requires nearly always a manual adaption of the > Xen boot parameters to reflect the actual host memory size. > > Add more possibilities to specify memory sizes. Today we have: > > dom0_mem= List of ( min:<size> | max:<size> | <size> ) > > with <size> being a positive or negative size value (e.g. 1G). > > Modify that to: > > dom0_mem= List of ( min:<sz> | max:<sz> | <sz> ) > <sz>: <size> | [<size>+]<frac>% > <frac>: integer value < 100 > > With the following semantics: > > <frac>% specifies a fraction of host memory size in percent. > <sz> is a percentage of host memory plus an offset. > > So <sz> being 1G+25% on a 256G host would result in 65G. > > Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> I notice though that ... > -static long __init parse_amt(const char *s, const char **ps) > +static int __init parse_amt(const char *s, const char **ps, struct memsize > *sz) > { > - long pages = parse_size_and_unit((*s == '-') ? s+1 : s, ps) >> > PAGE_SHIFT; > - return (*s == '-') ? -pages : pages; > + unsigned long val; > + struct memsize tmp = { }; > + > + tmp.minus = (*s == '-'); > + if ( tmp.minus ) > + s++; > + > + /* Avoid accessing s[-1] in case value starts with '%'. */ > + if ( *s == '%' ) > + return -EINVAL; > + > + while ( isdigit(*s) ) > + { > + val = parse_size_and_unit_or_int(s, ps, '%'); > + s = *ps; > + if ( *s == '%' ) > + { > + if ( !isdigit(s[-1]) || val >= 100 ) > + return -EINVAL; > + tmp.percent = val; > + s++; > + } > + else > + tmp.nr_pages = val >> PAGE_SHIFT; > + if ( *s == '+' ) > + s++; > + } ... you allow more flexibility here than you document (i.e. also <percentage>+<basesize>). You may want to consider refusing something like 1G+10%+10%, though. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |