[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.6] x86/mm: Make {hap, shadow}_teardown() preemptible
Hi, At 13:36 +0100 on 05 Aug (1438781760), Andrew Cooper wrote: > From: Anshul Makkar <anshul.makkar@xxxxxxxxxx> > > A domain with sufficient shadow allocation can cause a watchdog timeout > during domain destruction. Expand the existing -ERESTART logic in > paging_teardown() to allow {hap/sh}_set_allocation() to become > restartable during the DOMCTL_destroydomain hypercall. > > Signed-off-by: Anshul Makkar <anshul.makkar@xxxxxxxxxx> > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Good catch, thanks. > @@ -3139,7 +3139,9 @@ void shadow_teardown(struct domain *d) > d->arch.paging.shadow.free_pages, > d->arch.paging.shadow.p2m_pages); > /* Destroy all the shadows and release memory to domheap */ > - sh_set_allocation(d, 0, NULL); > + sh_set_allocation(d, 0, preempted); > + if ( preempted && *preempted ) > + goto out; > /* Release the hash table back to xenheap */ > if (d->arch.paging.shadow.hash_table) > shadow_hash_teardown(d); If the debug printout just above this is ever enabled, it will get very loud since the printout will make preemption likely. Please just delete the SHADOW_PRINTK above; you can also delete the one below if you like. The HAP side looks like it needs the same adjustment. With that done, Reviewed-by: Tim Deegan <tim@xxxxxxx> Cheers, Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |