Lines Matching refs:ptdesc

2832 static inline struct ptdesc *virt_to_ptdesc(const void *x)
2837 static inline void *ptdesc_to_virt(const struct ptdesc *pt)
2842 static inline void *ptdesc_address(const struct ptdesc *pt)
2847 static inline bool pagetable_is_reserved(struct ptdesc *pt)
2860 * Return: The ptdesc describing the allocated page tables.
2862 static inline struct ptdesc *pagetable_alloc(gfp_t gfp, unsigned int order)
2876 static inline void pagetable_free(struct ptdesc *pt)
2886 bool ptlock_alloc(struct ptdesc *ptdesc);
2887 void ptlock_free(struct ptdesc *ptdesc);
2889 static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
2891 return ptdesc->ptl;
2898 static inline bool ptlock_alloc(struct ptdesc *ptdesc)
2903 static inline void ptlock_free(struct ptdesc *ptdesc)
2907 static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
2909 return &ptdesc->ptl;
2918 static inline bool ptlock_init(struct ptdesc *ptdesc)
2927 VM_BUG_ON_PAGE(*(unsigned long *)&ptdesc->ptl, ptdesc_page(ptdesc));
2928 if (!ptlock_alloc(ptdesc))
2930 spin_lock_init(ptlock_ptr(ptdesc));
2943 static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; }
2944 static inline void ptlock_free(struct ptdesc *ptdesc) {}
2947 static inline bool pagetable_pte_ctor(struct ptdesc *ptdesc)
2949 struct folio *folio = ptdesc_folio(ptdesc);
2951 if (!ptlock_init(ptdesc))
2958 static inline void pagetable_pte_dtor(struct ptdesc *ptdesc)
2960 struct folio *folio = ptdesc_folio(ptdesc);
2962 ptlock_free(ptdesc);
3013 static inline struct ptdesc *pmd_ptdesc(pmd_t *pmd)
3023 static inline bool pmd_ptlock_init(struct ptdesc *ptdesc)
3026 ptdesc->pmd_huge_pte = NULL;
3028 return ptlock_init(ptdesc);
3031 static inline void pmd_ptlock_free(struct ptdesc *ptdesc)
3034 VM_BUG_ON_PAGE(ptdesc->pmd_huge_pte, ptdesc_page(ptdesc));
3036 ptlock_free(ptdesc);
3048 static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) { return true; }
3049 static inline void pmd_ptlock_free(struct ptdesc *ptdesc) {}
3062 static inline bool pagetable_pmd_ctor(struct ptdesc *ptdesc)
3064 struct folio *folio = ptdesc_folio(ptdesc);
3066 if (!pmd_ptlock_init(ptdesc))
3073 static inline void pagetable_pmd_dtor(struct ptdesc *ptdesc)
3075 struct folio *folio = ptdesc_folio(ptdesc);
3077 pmd_ptlock_free(ptdesc);
3101 static inline void pagetable_pud_ctor(struct ptdesc *ptdesc)
3103 struct folio *folio = ptdesc_folio(ptdesc);
3109 static inline void pagetable_pud_dtor(struct ptdesc *ptdesc)
3111 struct folio *folio = ptdesc_folio(ptdesc);
3150 static inline void free_reserved_ptdesc(struct ptdesc *pt)