|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/shadow: adjust minimum allocation calculations
>>> On 06.02.19 at 13:00, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 06/02/2019 10:56, Jan Beulich wrote:
>> @@ -1373,9 +1377,15 @@ static unsigned int sh_min_allocation(co
>> {
>> /*
>> * Don't allocate less than the minimum acceptable, plus one page per
>> - * megabyte of RAM (for the p2m table).
>> + * megabyte of RAM (for the p2m table, minimally enough for HVM's
>> setting
>> + * up of slot zero and VMX's setting up of the LAPIC page), plus one for
>> + * HVM's 1-to-1 pagetable.
>
> What is in slot 0? Nothing comes to mind.
I can only refer you to p2m_alloc_table(), which has
/* Initialise physmap tables for slot zero. Other code assumes this. */
p2m->defer_nested_flush = 1;
rc = p2m_set_entry(p2m, _gfn(0), INVALID_MFN, PAGE_ORDER_4K,
p2m_invalid, p2m->default_access);
p2m->defer_nested_flush = 0;
>> */
>> - return shadow_min_acceptable_pages(d) + (d->tot_pages / 256);
>> + return shadow_min_acceptable_pages(d) +
>> + max(d->tot_pages / 256,
>> + is_hvm_domain(d) ? CONFIG_PAGING_LEVELS + !!cpu_has_vmx * 2
>> + : 0U) +
>
> I'm not sure cpu_has_vmx is the right check here. For one, there is a
> series posted adding similar support for AMD, so this is going to be
> stale shortly.
>
> I'd err on the side of making it unconditional, but if you do want to be
> as tight as possible, then cpu_has_vmx_apic_reg_virt is the correct
> check for now.
Well, if anything then the qualifier vmx_alloc_vlapic_mapping() uses,
which is cpu_has_vmx_virtualize_apic_accesses (unless you tell me
that needs changing too). But if SVM is going to have a similar
requirement going forward, then making it unconditional is fine with
me.
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 |