Lines Matching refs:ptdesc
389 struct ptdesc *ptdesc; in __alloc_for_pmdcache() local
394 ptdesc = pagetable_alloc(gfp, 0); in __alloc_for_pmdcache()
395 if (!ptdesc) in __alloc_for_pmdcache()
397 if (!pagetable_pmd_ctor(ptdesc)) { in __alloc_for_pmdcache()
398 pagetable_free(ptdesc); in __alloc_for_pmdcache()
402 atomic_set(&ptdesc->pt_frag_refcount, 1); in __alloc_for_pmdcache()
404 ret = ptdesc_address(ptdesc); in __alloc_for_pmdcache()
419 atomic_set(&ptdesc->pt_frag_refcount, PMD_FRAG_NR); in __alloc_for_pmdcache()
440 struct ptdesc *ptdesc = virt_to_ptdesc(pmd); in pmd_fragment_free() local
442 if (pagetable_is_reserved(ptdesc)) in pmd_fragment_free()
443 return free_reserved_ptdesc(ptdesc); in pmd_fragment_free()
445 BUG_ON(atomic_read(&ptdesc->pt_frag_refcount) <= 0); in pmd_fragment_free()
446 if (atomic_dec_and_test(&ptdesc->pt_frag_refcount)) { in pmd_fragment_free()
447 pagetable_pmd_dtor(ptdesc); in pmd_fragment_free()
448 pagetable_free(ptdesc); in pmd_fragment_free()