[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Add missing continuable destroy domain chunk
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1189105033 21600 # Node ID af03eea56697163d3a02cd45372fe4ddf3ec008a # Parent 8b2e0de43b55e97063141f0da35721349230ca50 [IA64] Add missing continuable destroy domain chunk Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx> --- xen/arch/ia64/xen/mm.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff -r 8b2e0de43b55 -r af03eea56697 xen/arch/ia64/xen/mm.c --- a/xen/arch/ia64/xen/mm.c Thu Sep 06 12:35:22 2007 -0600 +++ b/xen/arch/ia64/xen/mm.c Thu Sep 06 12:57:13 2007 -0600 @@ -339,14 +339,22 @@ mm_teardown(struct domain* d) volatile pgd_t* pgd; if (mm->pgd == NULL) - return; + return 0; pgd = pgd_offset(mm, 0); for (i = 0; i < PTRS_PER_PGD; i++, pgd++) { - if (!pgd_present(*pgd)) // acquire semantics + unsigned long cur_offset = i << PGDIR_SHIFT; + + if (mm_teardown_can_skip(d, cur_offset + PGDIR_SIZE)) continue; - mm_teardown_pgd(d, pgd, i << PGDIR_SHIFT); - } + if (!pgd_present(*pgd)) { // acquire semantics + mm_teardown_update_offset(d, cur_offset); + continue; + } + if (mm_teardown_pgd(d, pgd, cur_offset)) + return -EAGAIN; + } + return 0; } static void _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |