[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-next v2 07/10] x86/domain: factor out pv_domain_destroy
On Wed, Apr 26, 2017 at 06:32:46AM -0600, Jan Beulich wrote: > >>> On 25.04.17 at 15:52, <wei.liu2@xxxxxxxxxx> wrote: > > --- a/xen/arch/x86/domain.c > > +++ b/xen/arch/x86/domain.c > > @@ -536,6 +536,16 @@ static bool emulation_flags_ok(const struct domain *d, > > uint32_t emflags) > > return true; > > } > > > > +static void pv_domain_destroy(struct domain *d) > > +{ > > + destroy_perdomain_mapping(d, GDT_LDT_VIRT_START, > > + GDT_LDT_MBYTES << (20 - PAGE_SHIFT)); > > What use is this, considering both calling paths have ... > > > @@ -712,10 +722,8 @@ int arch_domain_create(struct domain *d, unsigned int > > domcr_flags, > > paging_final_teardown(d); > > free_perdomain_mappings(d); > > ... this and ... > > > if ( is_pv_domain(d) ) > > - { > > - xfree(d->arch.pv_domain.cpuidmasks); > > - free_xenheap_page(d->arch.pv_domain.gdt_ldt_l1tab); > > - } > > + pv_domain_destroy(d); > > + > > return rc; > > } > > > > @@ -735,10 +743,7 @@ void arch_domain_destroy(struct domain *d) > > > > free_perdomain_mappings(d); > > ... this? > Yes, I know. But IMO it would be far clearer we have matching allocation and deallocation. We still need free_perdomain_mappings to have it free the top-level page table. Wei. > Jan > > > if ( is_pv_domain(d) ) > > - { > > - free_xenheap_page(d->arch.pv_domain.gdt_ldt_l1tab); > > - xfree(d->arch.pv_domain.cpuidmasks); > > - } > > + pv_domain_destroy(d); > > > > free_xenheap_page(d->shared_info); > > cleanup_domain_irq_mapping(d); > > -- > > 2.11.0 > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |