OSDN Git Service

powerpc/mm: Fix assert_pte_locked to work properly on uniprocessor
authorKumar Gala <galak@kernel.crashing.org>
Tue, 18 Aug 2009 15:21:40 +0000 (15:21 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 20 Aug 2009 00:28:32 +0000 (10:28 +1000)
Since the pte_lockptr is a spinlock it gets optimized away on
uniprocessor builds so using spin_is_locked is not correct.  We can use
assert_spin_locked instead and get the proper behavior between UP and
SMP builds.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/mm/pgtable.c

index cafb2a2..b6b3248 100644 (file)
@@ -254,7 +254,7 @@ void assert_pte_locked(struct mm_struct *mm, unsigned long addr)
        BUG_ON(pud_none(*pud));
        pmd = pmd_offset(pud, addr);
        BUG_ON(!pmd_present(*pmd));
-       BUG_ON(!spin_is_locked(pte_lockptr(mm, pmd)));
+       assert_spin_locked(pte_lockptr(mm, pmd));
 }
 #endif /* CONFIG_DEBUG_VM */