Lines Matching refs:pte
2550 static int is_hugetlb_entry_migration(pte_t pte) in is_hugetlb_entry_migration() argument
2554 if (huge_pte_none(pte) || pte_present(pte)) in is_hugetlb_entry_migration()
2556 swp = pte_to_swp_entry(pte); in is_hugetlb_entry_migration()
2563 static int is_hugetlb_entry_hwpoisoned(pte_t pte) in is_hugetlb_entry_hwpoisoned() argument
2567 if (huge_pte_none(pte) || pte_present(pte)) in is_hugetlb_entry_hwpoisoned()
2569 swp = pte_to_swp_entry(pte); in is_hugetlb_entry_hwpoisoned()
2658 pte_t pte; in __unmap_hugepage_range() local
2682 pte = huge_ptep_get(ptep); in __unmap_hugepage_range()
2683 if (huge_pte_none(pte)) in __unmap_hugepage_range()
2690 if (unlikely(!pte_present(pte))) { in __unmap_hugepage_range()
2695 page = pte_page(pte); in __unmap_hugepage_range()
2713 pte = huge_ptep_get_and_clear(mm, address, ptep); in __unmap_hugepage_range()
2715 if (huge_pte_dirty(pte)) in __unmap_hugepage_range()
2842 unsigned long address, pte_t *ptep, pte_t pte, in hugetlb_cow() argument
2851 old_page = pte_page(pte); in hugetlb_cow()
2894 BUG_ON(huge_pte_none(pte)); in hugetlb_cow()
2896 BUG_ON(huge_pte_none(pte)); in hugetlb_cow()
2900 pte_same(huge_ptep_get(ptep), pte))) in hugetlb_cow()
2938 if (likely(ptep && pte_same(huge_ptep_get(ptep), pte))) { in hugetlb_cow()
3308 pte_t *pte; in follow_hugetlb_page() local
3320 pte = huge_pte_offset(mm, vaddr & huge_page_mask(h)); in follow_hugetlb_page()
3321 if (pte) in follow_hugetlb_page()
3322 ptl = huge_pte_lock(h, mm, pte); in follow_hugetlb_page()
3323 absent = !pte || huge_pte_none(huge_ptep_get(pte)); in follow_hugetlb_page()
3334 if (pte) in follow_hugetlb_page()
3350 if (absent || is_swap_pte(huge_ptep_get(pte)) || in follow_hugetlb_page()
3352 !huge_pte_write(huge_ptep_get(pte)))) { in follow_hugetlb_page()
3355 if (pte) in follow_hugetlb_page()
3367 page = pte_page(huge_ptep_get(pte)); in follow_hugetlb_page()
3403 pte_t pte; in hugetlb_change_protection() local
3423 pte = huge_ptep_get(ptep); in hugetlb_change_protection()
3424 if (unlikely(is_hugetlb_entry_hwpoisoned(pte))) { in hugetlb_change_protection()
3428 if (unlikely(is_hugetlb_entry_migration(pte))) { in hugetlb_change_protection()
3429 swp_entry_t entry = pte_to_swp_entry(pte); in hugetlb_change_protection()
3442 if (!huge_pte_none(pte)) { in hugetlb_change_protection()
3443 pte = huge_ptep_get_and_clear(mm, address, ptep); in hugetlb_change_protection()
3444 pte = pte_mkhuge(huge_pte_modify(pte, newprot)); in hugetlb_change_protection()
3445 pte = arch_make_huge_pte(pte, vma, NULL, 0); in hugetlb_change_protection()
3446 set_huge_pte_at(mm, address, ptep, pte); in hugetlb_change_protection()
3620 pte_t *pte; in huge_pmd_share() local
3653 pte = (pte_t *)pmd_alloc(mm, pud, addr); in huge_pmd_share()
3655 return pte; in huge_pmd_share()
3699 pte_t *pte = NULL; in huge_pte_alloc() local
3705 pte = (pte_t *)pud; in huge_pte_alloc()
3709 pte = huge_pmd_share(mm, addr, pud); in huge_pte_alloc()
3711 pte = (pte_t *)pmd_alloc(mm, pud, addr); in huge_pte_alloc()
3714 BUG_ON(pte && !pte_none(*pte) && !pte_huge(*pte)); in huge_pte_alloc()
3716 return pte; in huge_pte_alloc()
3756 pte_t pte; in follow_huge_pmd() local
3766 pte = huge_ptep_get((pte_t *)pmd); in follow_huge_pmd()
3767 if (pte_present(pte)) { in follow_huge_pmd()
3773 if (is_hugetlb_entry_migration(pte)) { in follow_huge_pmd()