|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/3] xen/x86: delay parsing of dom0_mem parameter until needed
>>> On 28.11.18 at 16:33, <jgross@xxxxxxxx> wrote:
> On 28/11/2018 16:12, Jan Beulich wrote:
>>>>> On 22.11.18 at 17:40, <jgross@xxxxxxxx> wrote:
>>> @@ -44,14 +46,20 @@ static long __initdata dom0_max_nrpages = LONG_MAX;
>>> * If +ve: The specified amount is an absolute value.
>>> * If -ve: The specified amount is subtracted from total available memory.
>>> */
>>> -static long __init parse_amt(const char *s, const char **ps)
>>> +static unsigned long __init parse_amt(const char *s, const char **ps,
>>> + unsigned long avail)
>>> {
>>> - long pages = parse_size_and_unit((*s == '-') ? s+1 : s, ps) >>
>>> PAGE_SHIFT;
>>> - return (*s == '-') ? -pages : pages;
>>> + unsigned int minus = (*s == '-') ? 1 : 0;
>>> + unsigned long pages = parse_size_and_unit(s + minus, ps) >> PAGE_SHIFT;
>>> +
>>> + /* Negative specification means "all memory - specified amount". */
>>> + return minus ? avail - pages : pages;
>>> }
>>
>> I don't think any of this should be done in a patch with the given
>> title.
>
> Going the other route will result in merging patches 1 and 2, I guess.
Well, you could easily do here what you do _besides_ the actual
topic of the patch, just then with its title changed.
>>> @@ -298,6 +306,10 @@ unsigned long __init dom0_compute_nr_pages(
>>> (!iommu_hap_pt_share || !paging_mode_hap(d));
>>> for ( ; ; need_paging = false )
>>> {
>>> + if ( dom0_mem_par[0] && parse_dom0_mem(avail) )
>>> + printk("Invalid dom0_mem parameter value \"%s\", ignoring\n",
>>> + dom0_mem_par);
>>
>> Looking at how the parsing function works I don't think the entire
>> command line would necessarily be ignored in case of error. I think
>> the log message shouldn't give a wrong impression.
>
> The message is referencing the dom0_mem value only. And this would be
> ignored. I don't see your concern here.
The function may have updated all three of dom0_{,max_,min_}nrpages
before hitting en error condition. Hence a fair part of what was specified
may not be ignored despite the error.
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 |