Skip to content

Commit af60a4c

Browse files
kvaneeshmpe
authored andcommitted
powerpc/mm: Use pmd_lockptr instead of opencoding it
In later patch we switch pmd_lock from mm->page_table_lock to split pmd ptlock. It avoid compilations issues, use pmd_lockptr helper. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
1 parent 59879d5 commit af60a4c

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

arch/powerpc/mm/pgtable-book3s64.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ int pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long address,
3737
int changed;
3838
#ifdef CONFIG_DEBUG_VM
3939
WARN_ON(!pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp));
40-
assert_spin_locked(&vma->vm_mm->page_table_lock);
40+
assert_spin_locked(pmd_lockptr(vma->vm_mm, pmdp));
4141
#endif
4242
changed = !pmd_same(*(pmdp), entry);
4343
if (changed) {
@@ -62,7 +62,7 @@ void set_pmd_at(struct mm_struct *mm, unsigned long addr,
6262
{
6363
#ifdef CONFIG_DEBUG_VM
6464
WARN_ON(pte_present(pmd_pte(*pmdp)) && !pte_protnone(pmd_pte(*pmdp)));
65-
assert_spin_locked(&mm->page_table_lock);
65+
assert_spin_locked(pmd_lockptr(mm, pmdp));
6666
WARN_ON(!(pmd_trans_huge(pmd) || pmd_devmap(pmd)));
6767
#endif
6868
trace_hugepage_set_pmd(addr, pmd_val(pmd));

arch/powerpc/mm/pgtable-hash64.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ unsigned long hash__pmd_hugepage_update(struct mm_struct *mm, unsigned long addr
193193

194194
#ifdef CONFIG_DEBUG_VM
195195
WARN_ON(!hash__pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp));
196-
assert_spin_locked(&mm->page_table_lock);
196+
assert_spin_locked(pmd_lockptr(mm, pmdp));
197197
#endif
198198

199199
__asm__ __volatile__(
@@ -265,7 +265,8 @@ void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
265265
pgtable_t pgtable)
266266
{
267267
pgtable_t *pgtable_slot;
268-
assert_spin_locked(&mm->page_table_lock);
268+
269+
assert_spin_locked(pmd_lockptr(mm, pmdp));
269270
/*
270271
* we store the pgtable in the second half of PMD
271272
*/
@@ -285,7 +286,8 @@ pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
285286
pgtable_t pgtable;
286287
pgtable_t *pgtable_slot;
287288

288-
assert_spin_locked(&mm->page_table_lock);
289+
assert_spin_locked(pmd_lockptr(mm, pmdp));
290+
289291
pgtable_slot = (pgtable_t *)pmdp + PTRS_PER_PMD;
290292
pgtable = *pgtable_slot;
291293
/*

arch/powerpc/mm/pgtable-radix.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -975,7 +975,7 @@ unsigned long radix__pmd_hugepage_update(struct mm_struct *mm, unsigned long add
975975

976976
#ifdef CONFIG_DEBUG_VM
977977
WARN_ON(!radix__pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp));
978-
assert_spin_locked(&mm->page_table_lock);
978+
assert_spin_locked(pmd_lockptr(mm, pmdp));
979979
#endif
980980

981981
old = radix__pte_update(mm, addr, (pte_t *)pmdp, clr, set, 1);

0 commit comments

Comments
 (0)