|
@@ -154,11 +154,11 @@ void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
|
|
|
assert_spin_locked(&mm->page_table_lock);
|
|
|
|
|
|
/* FIFO */
|
|
|
- if (!mm->pmd_huge_pte)
|
|
|
+ if (!pmd_huge_pte(mm, pmdp))
|
|
|
INIT_LIST_HEAD(&pgtable->lru);
|
|
|
else
|
|
|
- list_add(&pgtable->lru, &mm->pmd_huge_pte->lru);
|
|
|
- mm->pmd_huge_pte = pgtable;
|
|
|
+ list_add(&pgtable->lru, &pmd_huge_pte(mm, pmdp)->lru);
|
|
|
+ pmd_huge_pte(mm, pmdp) = pgtable;
|
|
|
}
|
|
|
#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
|
|
|
#endif
|
|
@@ -173,11 +173,11 @@ pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
|
|
|
assert_spin_locked(&mm->page_table_lock);
|
|
|
|
|
|
/* FIFO */
|
|
|
- pgtable = mm->pmd_huge_pte;
|
|
|
+ pgtable = pmd_huge_pte(mm, pmdp);
|
|
|
if (list_empty(&pgtable->lru))
|
|
|
- mm->pmd_huge_pte = NULL;
|
|
|
+ pmd_huge_pte(mm, pmdp) = NULL;
|
|
|
else {
|
|
|
- mm->pmd_huge_pte = list_entry(pgtable->lru.next,
|
|
|
+ pmd_huge_pte(mm, pmdp) = list_entry(pgtable->lru.next,
|
|
|
struct page, lru);
|
|
|
list_del(&pgtable->lru);
|
|
|
}
|