|
[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 |