powerpc/mm: Fix assert_pte_locked to work properly on uniprocessor
PATCH 1/1 powerpc/mm: Fix assert_pte_locked to work properly on uniprocessor
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 <[email protected]>
--- arch/powerpc/mm/pgtable.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/powerpc/mm/pgtable.c +1 -1
@@ -242,7 +242,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 */
Signature · 1 line
1.6.0.6
Quoted 4 lines · Kumar Gala
Since the
pte_lockptris a spinlock it gets optimized away on uniprocessor builds so usingspin_is_lockedis not correct. We can useassert_spin_lockedinstead and get the proper behavior between UP and SMP builds.
Thanks. Applied.
Cheers,
Ben.
Quoted 18 lines
Signed-off-by Kumar Gala <[email protected]>--- arch/powerpc/mm/pgtable.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)arch/powerpc/mm/pgtable.c +1
-1@@ -242,7 +242,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 */