Lines Matching defs:pmd

395 		unsigned long address, pmd_t *pmd, unsigned int flags,
421 if (unlikely(pmd_bad(*pmd)))
424 ptep = pte_offset_map_lock(mm, pmd, address, &ptl);
441 migration_entry_wait(mm, pmd, address);
561 pmd_t *pmd, pmdval;
566 pmd = pmd_offset(pudp, address);
571 pmdval = READ_ONCE(*pmd);
595 pmd_migration_entry_wait(mm, pmd);
596 pmdval = READ_ONCE(*pmd);
598 * MADV_DONTNEED may convert the pmd to null because
606 ptl = pmd_lock(mm, pmd);
607 page = follow_devmap_pmd(vma, address, pmd, flags, &ctx->pgmap);
613 return follow_page_pte(vma, address, pmd, flags, &ctx->pgmap);
619 ptl = pmd_lock(mm, pmd);
620 if (unlikely(pmd_none(*pmd))) {
624 if (unlikely(!pmd_present(*pmd))) {
628 pmd_migration_entry_wait(mm, pmd);
631 if (unlikely(!pmd_trans_huge(*pmd))) {
633 return follow_page_pte(vma, address, pmd, flags, &ctx->pgmap);
637 page = pmd_page(*pmd);
641 split_huge_pmd(vma, pmd, address);
642 if (pmd_trans_unstable(pmd))
654 if (pmd_none(*pmd))
658 split_huge_pmd(vma, pmd, address);
659 ret = pte_alloc(mm, pmd) ? -ENOMEM : 0;
663 follow_page_pte(vma, address, pmd, flags, &ctx->pgmap);
665 page = follow_trans_huge_pmd(vma, address, pmd, flags);
815 pmd_t *pmd;
834 pmd = pmd_offset(pud, address);
835 if (!pmd_present(*pmd))
837 VM_BUG_ON(pmd_trans_huge(*pmd));
838 pte = pte_offset_map(pmd, address);
2157 * walking a pgtable page that is being freed (pte is still valid but pmd
2159 * also check pmd here to make sure pmd doesn't change (corresponds to
2162 static int gup_pte_range(pmd_t pmd, pmd_t *pmdp, unsigned long addr,
2170 ptem = ptep = pte_offset_map(&pmd, addr);
2204 if (unlikely(pmd_val(pmd) != pmd_val(*pmdp)) ||
2250 static int gup_pte_range(pmd_t pmd, pmd_t *pmdp, unsigned long addr,
2531 pmd_t pmd = READ_ONCE(*pmdp);
2534 if (!pmd_present(pmd))
2537 if (unlikely(pmd_trans_huge(pmd) || pmd_huge(pmd) ||
2538 pmd_devmap(pmd))) {
2544 if (pmd_protnone(pmd))
2547 if (!gup_huge_pmd(pmd, pmdp, addr, next, flags,
2551 } else if (unlikely(is_hugepd(__hugepd(pmd_val(pmd))))) {
2554 * pmd format and THP pmd format
2556 if (!gup_huge_pd(__hugepd(pmd_val(pmd)), addr,
2559 } else if (!gup_pte_range(pmd, pmdp, addr, next, flags, pages, nr))