Lines Matching refs:mm

377 static pte_t *get_from_cache(struct mm_struct *mm)  in get_from_cache()  argument
381 spin_lock(&mm->page_table_lock); in get_from_cache()
382 ret = mm->context.pte_frag; in get_from_cache()
390 mm->context.pte_frag = pte_frag; in get_from_cache()
392 spin_unlock(&mm->page_table_lock); in get_from_cache()
396 static pte_t *__alloc_for_cache(struct mm_struct *mm, int kernel) in __alloc_for_cache() argument
409 spin_lock(&mm->page_table_lock); in __alloc_for_cache()
415 if (likely(!mm->context.pte_frag)) { in __alloc_for_cache()
417 mm->context.pte_frag = ret + PTE_FRAG_SIZE; in __alloc_for_cache()
419 spin_unlock(&mm->page_table_lock); in __alloc_for_cache()
424 pte_t *page_table_alloc(struct mm_struct *mm, unsigned long vmaddr, int kernel) in page_table_alloc() argument
428 pte = get_from_cache(mm); in page_table_alloc()
432 return __alloc_for_cache(mm, kernel); in page_table_alloc()
435 void page_table_free(struct mm_struct *mm, unsigned long *table, int kernel) in page_table_free() argument
523 unsigned long pmd_hugepage_update(struct mm_struct *mm, unsigned long addr, in pmd_hugepage_update() argument
532 assert_spin_locked(&mm->page_table_lock); in pmd_hugepage_update()
553 hpte_do_hugepage_flush(mm, addr, pmdp, old); in pmd_hugepage_update()
674 void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, in pgtable_trans_huge_deposit() argument
678 assert_spin_locked(&mm->page_table_lock); in pgtable_trans_huge_deposit()
693 pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) in pgtable_trans_huge_withdraw() argument
698 assert_spin_locked(&mm->page_table_lock); in pgtable_trans_huge_withdraw()
717 void set_pmd_at(struct mm_struct *mm, unsigned long addr, in set_pmd_at() argument
723 assert_spin_locked(&mm->page_table_lock); in set_pmd_at()
727 return set_pte_at(mm, addr, pmdp_ptep(pmdp), pmd_pte(pmd)); in set_pmd_at()
740 void hpte_do_hugepage_flush(struct mm_struct *mm, unsigned long addr, in hpte_do_hugepage_flush() argument
751 psize = get_slice_psize(mm, addr); in hpte_do_hugepage_flush()
761 vsid = get_vsid(mm->context.id, addr, ssize); in hpte_do_hugepage_flush()
769 if (cpumask_equal(mm_cpumask(mm), tmp)) in hpte_do_hugepage_flush()
820 pmd_t pmdp_get_and_clear(struct mm_struct *mm, in pmdp_get_and_clear() argument
828 old = pmd_hugepage_update(mm, addr, pmdp, ~0UL, 0); in pmdp_get_and_clear()