• Home
  • Raw
  • Download

Lines Matching +full:page +full:- +full:level

1 /* SPDX-License-Identifier: GPL-2.0 */
11 * __pte_alloc_one_kernel - allocate a page for PTE-level kernel page table
15 * anything beyond simple page allocation.
26 * pte_alloc_one_kernel - allocate a page for PTE-level kernel page table
38 * pte_free_kernel - free PTE-level kernel page table page
40 * @pte: pointer to the memory containing the page table
48 * __pte_alloc_one - allocate a page for PTE-level user page table
52 * Allocates a page and runs the pgtable_pte_page_ctor().
55 * anything beyond simple page allocation or must have custom GFP flags.
57 * Return: `struct page` initialized as page table or %NULL on error
61 struct page *pte; in __pte_alloc_one()
76 * pte_alloc_one - allocate a page for PTE-level user page table
79 * Allocates a page and runs the pgtable_pte_page_ctor().
81 * Return: `struct page` initialized as page table or %NULL on error
90 * Should really implement gc for free page table pages. This could be
91 * done with a reference count in struct page.
95 * pte_free - free PTE-level user page table page
97 * @pte_page: the `struct page` representing the page table
99 static inline void pte_free(struct mm_struct *mm, struct page *pte_page) in pte_free()
110 * pmd_alloc_one - allocate a page for PMD-level page table
113 * Allocates a page and runs the pgtable_pmd_page_ctor().
121 struct page *page; in pmd_alloc_one() local
126 page = alloc_pages(gfp, 0); in pmd_alloc_one()
127 if (!page) in pmd_alloc_one()
129 if (!pgtable_pmd_page_ctor(page)) { in pmd_alloc_one()
130 __free_pages(page, 0); in pmd_alloc_one()
133 return (pmd_t *)page_address(page); in pmd_alloc_one()
140 BUG_ON((unsigned long)pmd & (PAGE_SIZE-1)); in pmd_free()
152 * pud_alloc_one - allocate a page for PUD-level page table
155 * Allocates a page using %GFP_PGTABLE_USER for user context and
172 BUG_ON((unsigned long)pud & (PAGE_SIZE-1)); in pud_free()