From 0b5786402871e0e15bf32622403b6257ca8586bb Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Mon, 25 Jul 2011 17:12:14 -0700 Subject: [PATCH] --- yaml --- r: 258942 b: refs/heads/master c: d788e80a8c83ecdbdd55b6e985cced9cfe3a815b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/huge_memory.c | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 003d10c084ee..bd919652537f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1bb36fbd4d58ec3fab4dab5ed39a2af492c263ea +refs/heads/master: d788e80a8c83ecdbdd55b6e985cced9cfe3a815b diff --git a/trunk/mm/huge_memory.c b/trunk/mm/huge_memory.c index 81532f297fd2..e2d1587be269 100644 --- a/trunk/mm/huge_memory.c +++ b/trunk/mm/huge_memory.c @@ -1596,14 +1596,13 @@ void __khugepaged_exit(struct mm_struct *mm) list_del(&mm_slot->mm_node); free = 1; } + spin_unlock(&khugepaged_mm_lock); if (free) { - spin_unlock(&khugepaged_mm_lock); clear_bit(MMF_VM_HUGEPAGE, &mm->flags); free_mm_slot(mm_slot); mmdrop(mm); } else if (mm_slot) { - spin_unlock(&khugepaged_mm_lock); /* * This is required to serialize against * khugepaged_test_exit() (which is guaranteed to run @@ -1614,8 +1613,7 @@ void __khugepaged_exit(struct mm_struct *mm) */ down_write(&mm->mmap_sem); up_write(&mm->mmap_sem); - } else - spin_unlock(&khugepaged_mm_lock); + } } static void release_pte_page(struct page *page)