|
@@ -1244,11 +1244,11 @@ void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
|
|
assert_spin_locked(&mm->page_table_lock);
|
|
assert_spin_locked(&mm->page_table_lock);
|
|
|
|
|
|
/* FIFO */
|
|
/* FIFO */
|
|
- if (!mm->pmd_huge_pte)
|
|
|
|
|
|
+ if (!pmd_huge_pte(mm, pmdp))
|
|
INIT_LIST_HEAD(lh);
|
|
INIT_LIST_HEAD(lh);
|
|
else
|
|
else
|
|
- list_add(lh, (struct list_head *) mm->pmd_huge_pte);
|
|
|
|
- mm->pmd_huge_pte = pgtable;
|
|
|
|
|
|
+ list_add(lh, (struct list_head *) pmd_huge_pte(mm, pmdp));
|
|
|
|
+ pmd_huge_pte(mm, pmdp) = pgtable;
|
|
}
|
|
}
|
|
|
|
|
|
pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
|
|
pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
|
|
@@ -1260,12 +1260,12 @@ pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
|
|
assert_spin_locked(&mm->page_table_lock);
|
|
assert_spin_locked(&mm->page_table_lock);
|
|
|
|
|
|
/* FIFO */
|
|
/* FIFO */
|
|
- pgtable = mm->pmd_huge_pte;
|
|
|
|
|
|
+ pgtable = pmd_huge_pte(mm, pmdp);
|
|
lh = (struct list_head *) pgtable;
|
|
lh = (struct list_head *) pgtable;
|
|
if (list_empty(lh))
|
|
if (list_empty(lh))
|
|
- mm->pmd_huge_pte = NULL;
|
|
|
|
|
|
+ pmd_huge_pte(mm, pmdp) = NULL;
|
|
else {
|
|
else {
|
|
- mm->pmd_huge_pte = (pgtable_t) lh->next;
|
|
|
|
|
|
+ pmd_huge_pte(mm, pmdp) = (pgtable_t) lh->next;
|
|
list_del(lh);
|
|
list_del(lh);
|
|
}
|
|
}
|
|
ptep = (pte_t *) pgtable;
|
|
ptep = (pte_t *) pgtable;
|