|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/8] x86/paging: fold HAP and shadow memory alloc related fields
On 21.12.2022 14:49, Andrew Cooper wrote:
> On 21/12/2022 1:24 pm, Jan Beulich wrote:
>> Especially with struct shadow_domain and struct hap_domain not living in
>> a union inside struct paging_domain, let's avoid the duplication: The
>> fields are named and used in identical ways, and only one of HAP or
>> shadow can be in use for a domain. This then also renders involved
>> expressions slightly more legible.
>>
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, with two minor
> suggestions.
Thanks.
>> --- a/xen/arch/x86/include/asm/domain.h
>> +++ b/xen/arch/x86/include/asm/domain.h
>> @@ -179,10 +173,6 @@ struct shadow_vcpu {
>> /* hardware assisted paging */
>> /************************************************/
>> struct hap_domain {
>> - struct page_list_head freelist;
>> - unsigned int total_pages; /* number of pages allocated */
>> - unsigned int free_pages; /* number of pages on freelists */
>> - unsigned int p2m_pages; /* number of pages allocated to p2m */
>> };
>
> Do we want to drop hap_domain? I can't forsee needing to put anything
> back into it.
I would prefer to keep it, even if it's unclear what may want putting
there. It's not obvious to me at all that nothing ever will.
>> --- a/xen/arch/x86/mm/paging.c
>> +++ b/xen/arch/x86/mm/paging.c
>> @@ -979,17 +980,17 @@ int __init paging_set_allocation(struct
>>
>> int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
>> {
>> - int rc;
>> + unsigned long pages;
>>
>> if ( is_pv_domain(d) ) /* TODO: Relax in due course */
>> return -EOPNOTSUPP;
>>
>> - if ( hap_enabled(d) )
>> - rc = hap_get_allocation_bytes(d, size);
>> - else
>> - rc = shadow_get_allocation_bytes(d, size);
>> + pages = d->arch.paging.total_pages;
>> + pages += d->arch.paging.p2m_pages;
>
> Any chance I can talk you into having a second space before the =, so we
> get:
>
> pages = d->arch.paging.total_pages;
> pages += d->arch.paging.p2m_pages;
>
> nicely aligned vertically?
Sure, I can do that. I recall I was actually pondering whether to ...
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |