Commit b4ed71f5 authored by Mark Rutland's avatar Mark Rutland Committed by Linus Torvalds

mm: treewide: clarify pgtable_page_{ctor,dtor}() naming

The naming of pgtable_page_{ctor,dtor}() seems to have confused a few
people, and until recently arm64 used these erroneously/pointlessly for
other levels of page table.

To make it incredibly clear that these only apply to the PTE level, and to
align with the naming of pgtable_pmd_page_{ctor,dtor}(), let's rename them
to pgtable_pte_page_{ctor,dtor}().

These changes were generated with the following shell script:

----
git grep -lw 'pgtable_page_.tor' | while read FILE; do
    sed -i '{s/pgtable_page_ctor/pgtable_pte_page_ctor/}' $FILE;
    sed -i '{s/pgtable_page_dtor/pgtable_pte_page_dtor/}' $FILE;
done
----

... with the documentation re-flowed to remain under 80 columns, and
whitespace fixed up in macros to keep backslashes aligned.

There should be no functional change as a result of this patch.

Link: http://lkml.kernel.org/r/20190722141133.3116-1-mark.rutland@arm.comSigned-off-by: default avatarMark Rutland <mark.rutland@arm.com>
Reviewed-by: default avatarMike Rapoport <rppt@linux.ibm.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>	[m68k]
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Yu Zhao <yuzhao@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent cc22c800
...@@ -54,9 +54,9 @@ Hugetlb-specific helpers: ...@@ -54,9 +54,9 @@ Hugetlb-specific helpers:
Support of split page table lock by an architecture Support of split page table lock by an architecture
=================================================== ===================================================
There's no need in special enabling of PTE split page table lock: There's no need in special enabling of PTE split page table lock: everything
everything required is done by pgtable_page_ctor() and pgtable_page_dtor(), required is done by pgtable_pte_page_ctor() and pgtable_pte_page_dtor(), which
which must be called on PTE table allocation / freeing. must be called on PTE table allocation / freeing.
Make sure the architecture doesn't use slab allocator for page table Make sure the architecture doesn't use slab allocator for page table
allocation: slab uses page->slab_cache for its pages. allocation: slab uses page->slab_cache for its pages.
...@@ -74,7 +74,7 @@ paths: i.e X86_PAE preallocate few PMDs on pgd_alloc(). ...@@ -74,7 +74,7 @@ paths: i.e X86_PAE preallocate few PMDs on pgd_alloc().
With everything in place you can set CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK. With everything in place you can set CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK.
NOTE: pgtable_page_ctor() and pgtable_pmd_page_ctor() can fail -- it must NOTE: pgtable_pte_page_ctor() and pgtable_pmd_page_ctor() can fail -- it must
be handled properly. be handled properly.
page->ptl page->ptl
...@@ -94,7 +94,7 @@ trick: ...@@ -94,7 +94,7 @@ trick:
split lock with enabled DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC, but costs split lock with enabled DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC, but costs
one more cache line for indirect access; one more cache line for indirect access;
The spinlock_t allocated in pgtable_page_ctor() for PTE table and in The spinlock_t allocated in pgtable_pte_page_ctor() for PTE table and in
pgtable_pmd_page_ctor() for PMD table. pgtable_pmd_page_ctor() for PMD table.
Please, never access page->ptl directly -- use appropriate helper. Please, never access page->ptl directly -- use appropriate helper.
...@@ -108,7 +108,7 @@ pte_alloc_one(struct mm_struct *mm) ...@@ -108,7 +108,7 @@ pte_alloc_one(struct mm_struct *mm)
return 0; return 0;
memzero((void *)pte_pg, PTRS_PER_PTE * sizeof(pte_t)); memzero((void *)pte_pg, PTRS_PER_PTE * sizeof(pte_t));
page = virt_to_page(pte_pg); page = virt_to_page(pte_pg);
if (!pgtable_page_ctor(page)) { if (!pgtable_pte_page_ctor(page)) {
__free_page(page); __free_page(page);
return 0; return 0;
} }
...@@ -123,7 +123,7 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) ...@@ -123,7 +123,7 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
static inline void pte_free(struct mm_struct *mm, pgtable_t ptep) static inline void pte_free(struct mm_struct *mm, pgtable_t ptep)
{ {
pgtable_page_dtor(virt_to_page(ptep)); pgtable_pte_page_dtor(virt_to_page(ptep));
free_pages((unsigned long)ptep, __get_order_pte()); free_pages((unsigned long)ptep, __get_order_pte());
} }
......
...@@ -44,7 +44,7 @@ static inline void __tlb_remove_table(void *_table) ...@@ -44,7 +44,7 @@ static inline void __tlb_remove_table(void *_table)
static inline void static inline void
__pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr)
{ {
pgtable_page_dtor(pte); pgtable_pte_page_dtor(pte);
#ifndef CONFIG_ARM_LPAE #ifndef CONFIG_ARM_LPAE
/* /*
......
...@@ -731,7 +731,7 @@ static void *__init late_alloc(unsigned long sz) ...@@ -731,7 +731,7 @@ static void *__init late_alloc(unsigned long sz)
{ {
void *ptr = (void *)__get_free_pages(GFP_PGTABLE_KERNEL, get_order(sz)); void *ptr = (void *)__get_free_pages(GFP_PGTABLE_KERNEL, get_order(sz));
if (!ptr || !pgtable_page_ctor(virt_to_page(ptr))) if (!ptr || !pgtable_pte_page_ctor(virt_to_page(ptr)))
BUG(); BUG();
return ptr; return ptr;
} }
......
...@@ -44,7 +44,7 @@ static inline void tlb_flush(struct mmu_gather *tlb) ...@@ -44,7 +44,7 @@ static inline void tlb_flush(struct mmu_gather *tlb)
static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
unsigned long addr) unsigned long addr)
{ {
pgtable_page_dtor(pte); pgtable_pte_page_dtor(pte);
tlb_remove_table(tlb, pte); tlb_remove_table(tlb, pte);
} }
......
...@@ -384,7 +384,7 @@ static phys_addr_t pgd_pgtable_alloc(int shift) ...@@ -384,7 +384,7 @@ static phys_addr_t pgd_pgtable_alloc(int shift)
* folded, and if so pgtable_pmd_page_ctor() becomes nop. * folded, and if so pgtable_pmd_page_ctor() becomes nop.
*/ */
if (shift == PAGE_SHIFT) if (shift == PAGE_SHIFT)
BUG_ON(!pgtable_page_ctor(phys_to_page(pa))); BUG_ON(!pgtable_pte_page_ctor(phys_to_page(pa)));
else if (shift == PMD_SHIFT) else if (shift == PMD_SHIFT)
BUG_ON(!pgtable_pmd_page_ctor(phys_to_page(pa))); BUG_ON(!pgtable_pmd_page_ctor(phys_to_page(pa)));
......
...@@ -71,7 +71,7 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm) ...@@ -71,7 +71,7 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm)
#define __pte_free_tlb(tlb, pte, address) \ #define __pte_free_tlb(tlb, pte, address) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page(tlb, pte); \ tlb_remove_page(tlb, pte); \
} while (0) } while (0)
......
...@@ -94,7 +94,7 @@ static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, ...@@ -94,7 +94,7 @@ static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd,
#define __pte_free_tlb(tlb, pte, addr) \ #define __pte_free_tlb(tlb, pte, addr) \
do { \ do { \
pgtable_page_dtor((pte)); \ pgtable_pte_page_dtor((pte)); \
tlb_remove_page((tlb), (pte)); \ tlb_remove_page((tlb), (pte)); \
} while (0) } while (0)
......
...@@ -41,7 +41,7 @@ extern inline pmd_t *pmd_alloc_kernel(pgd_t *pgd, unsigned long address) ...@@ -41,7 +41,7 @@ extern inline pmd_t *pmd_alloc_kernel(pgd_t *pgd, unsigned long address)
static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page, static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page,
unsigned long address) unsigned long address)
{ {
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
__free_page(page); __free_page(page);
} }
...@@ -54,7 +54,7 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm) ...@@ -54,7 +54,7 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm)
if (!page) if (!page)
return NULL; return NULL;
if (!pgtable_page_ctor(page)) { if (!pgtable_pte_page_ctor(page)) {
__free_page(page); __free_page(page);
return NULL; return NULL;
} }
...@@ -73,7 +73,7 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm) ...@@ -73,7 +73,7 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm)
static inline void pte_free(struct mm_struct *mm, struct page *page) static inline void pte_free(struct mm_struct *mm, struct page *page)
{ {
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
__free_page(page); __free_page(page);
} }
......
...@@ -36,7 +36,7 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm) ...@@ -36,7 +36,7 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
page = alloc_pages(GFP_KERNEL|__GFP_ZERO, 0); page = alloc_pages(GFP_KERNEL|__GFP_ZERO, 0);
if(!page) if(!page)
return NULL; return NULL;
if (!pgtable_page_ctor(page)) { if (!pgtable_pte_page_ctor(page)) {
__free_page(page); __free_page(page);
return NULL; return NULL;
} }
...@@ -51,7 +51,7 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm) ...@@ -51,7 +51,7 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
static inline void pte_free(struct mm_struct *mm, pgtable_t page) static inline void pte_free(struct mm_struct *mm, pgtable_t page)
{ {
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
cache_page(kmap(page)); cache_page(kmap(page));
kunmap(page); kunmap(page);
__free_page(page); __free_page(page);
...@@ -60,7 +60,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t page) ...@@ -60,7 +60,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t page)
static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page, static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page,
unsigned long address) unsigned long address)
{ {
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
cache_page(kmap(page)); cache_page(kmap(page));
kunmap(page); kunmap(page);
__free_page(page); __free_page(page);
......
...@@ -21,7 +21,7 @@ extern const char bad_pmd_string[]; ...@@ -21,7 +21,7 @@ extern const char bad_pmd_string[];
#define __pte_free_tlb(tlb,pte,addr) \ #define __pte_free_tlb(tlb,pte,addr) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page((tlb), pte); \ tlb_remove_page((tlb), pte); \
} while (0) } while (0)
......
...@@ -54,7 +54,7 @@ static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) ...@@ -54,7 +54,7 @@ static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
#define __pte_free_tlb(tlb,pte,address) \ #define __pte_free_tlb(tlb,pte,address) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page((tlb), pte); \ tlb_remove_page((tlb), pte); \
} while (0) } while (0)
......
...@@ -41,7 +41,7 @@ static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) ...@@ -41,7 +41,7 @@ static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
#define __pte_free_tlb(tlb, pte, addr) \ #define __pte_free_tlb(tlb, pte, addr) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page((tlb), (pte)); \ tlb_remove_page((tlb), (pte)); \
} while (0) } while (0)
......
...@@ -75,7 +75,7 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm) ...@@ -75,7 +75,7 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm)
if (!pte) if (!pte)
return NULL; return NULL;
clear_page(page_address(pte)); clear_page(page_address(pte));
if (!pgtable_page_ctor(pte)) { if (!pgtable_pte_page_ctor(pte)) {
__free_page(pte); __free_page(pte);
return NULL; return NULL;
} }
...@@ -89,13 +89,13 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) ...@@ -89,13 +89,13 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
static inline void pte_free(struct mm_struct *mm, struct page *pte) static inline void pte_free(struct mm_struct *mm, struct page *pte)
{ {
pgtable_page_dtor(pte); pgtable_pte_page_dtor(pte);
__free_page(pte); __free_page(pte);
} }
#define __pte_free_tlb(tlb, pte, addr) \ #define __pte_free_tlb(tlb, pte, addr) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page((tlb), (pte)); \ tlb_remove_page((tlb), (pte)); \
} while (0) } while (0)
......
...@@ -25,7 +25,7 @@ void pte_frag_destroy(void *pte_frag) ...@@ -25,7 +25,7 @@ void pte_frag_destroy(void *pte_frag)
count = ((unsigned long)pte_frag & ~PAGE_MASK) >> PTE_FRAG_SIZE_SHIFT; count = ((unsigned long)pte_frag & ~PAGE_MASK) >> PTE_FRAG_SIZE_SHIFT;
/* We allow PTE_FRAG_NR fragments from a PTE page */ /* We allow PTE_FRAG_NR fragments from a PTE page */
if (atomic_sub_and_test(PTE_FRAG_NR - count, &page->pt_frag_refcount)) { if (atomic_sub_and_test(PTE_FRAG_NR - count, &page->pt_frag_refcount)) {
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
__free_page(page); __free_page(page);
} }
} }
...@@ -61,7 +61,7 @@ static pte_t *__alloc_for_ptecache(struct mm_struct *mm, int kernel) ...@@ -61,7 +61,7 @@ static pte_t *__alloc_for_ptecache(struct mm_struct *mm, int kernel)
page = alloc_page(PGALLOC_GFP | __GFP_ACCOUNT); page = alloc_page(PGALLOC_GFP | __GFP_ACCOUNT);
if (!page) if (!page)
return NULL; return NULL;
if (!pgtable_page_ctor(page)) { if (!pgtable_pte_page_ctor(page)) {
__free_page(page); __free_page(page);
return NULL; return NULL;
} }
...@@ -113,7 +113,7 @@ void pte_fragment_free(unsigned long *table, int kernel) ...@@ -113,7 +113,7 @@ void pte_fragment_free(unsigned long *table, int kernel)
BUG_ON(atomic_read(&page->pt_frag_refcount) <= 0); BUG_ON(atomic_read(&page->pt_frag_refcount) <= 0);
if (atomic_dec_and_test(&page->pt_frag_refcount)) { if (atomic_dec_and_test(&page->pt_frag_refcount)) {
if (!kernel) if (!kernel)
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
__free_page(page); __free_page(page);
} }
} }
...@@ -78,7 +78,7 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) ...@@ -78,7 +78,7 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd)
#define __pte_free_tlb(tlb, pte, buf) \ #define __pte_free_tlb(tlb, pte, buf) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page((tlb), pte); \ tlb_remove_page((tlb), pte); \
} while (0) } while (0)
......
...@@ -210,7 +210,7 @@ unsigned long *page_table_alloc(struct mm_struct *mm) ...@@ -210,7 +210,7 @@ unsigned long *page_table_alloc(struct mm_struct *mm)
page = alloc_page(GFP_KERNEL); page = alloc_page(GFP_KERNEL);
if (!page) if (!page)
return NULL; return NULL;
if (!pgtable_page_ctor(page)) { if (!pgtable_pte_page_ctor(page)) {
__free_page(page); __free_page(page);
return NULL; return NULL;
} }
...@@ -256,7 +256,7 @@ void page_table_free(struct mm_struct *mm, unsigned long *table) ...@@ -256,7 +256,7 @@ void page_table_free(struct mm_struct *mm, unsigned long *table)
atomic_xor_bits(&page->_refcount, 3U << 24); atomic_xor_bits(&page->_refcount, 3U << 24);
} }
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
__free_page(page); __free_page(page);
} }
...@@ -308,7 +308,7 @@ void __tlb_remove_table(void *_table) ...@@ -308,7 +308,7 @@ void __tlb_remove_table(void *_table)
case 3: /* 4K page table with pgstes */ case 3: /* 4K page table with pgstes */
if (mask & 3) if (mask & 3)
atomic_xor_bits(&page->_refcount, 3 << 24); atomic_xor_bits(&page->_refcount, 3 << 24);
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
__free_page(page); __free_page(page);
break; break;
} }
......
...@@ -29,7 +29,7 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, ...@@ -29,7 +29,7 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
#define __pte_free_tlb(tlb,pte,addr) \ #define __pte_free_tlb(tlb,pte,addr) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page((tlb), (pte)); \ tlb_remove_page((tlb), (pte)); \
} while (0) } while (0)
......
...@@ -2903,7 +2903,7 @@ pgtable_t pte_alloc_one(struct mm_struct *mm) ...@@ -2903,7 +2903,7 @@ pgtable_t pte_alloc_one(struct mm_struct *mm)
struct page *page = alloc_page(GFP_KERNEL | __GFP_ZERO); struct page *page = alloc_page(GFP_KERNEL | __GFP_ZERO);
if (!page) if (!page)
return NULL; return NULL;
if (!pgtable_page_ctor(page)) { if (!pgtable_pte_page_ctor(page)) {
free_unref_page(page); free_unref_page(page);
return NULL; return NULL;
} }
...@@ -2919,7 +2919,7 @@ static void __pte_free(pgtable_t pte) ...@@ -2919,7 +2919,7 @@ static void __pte_free(pgtable_t pte)
{ {
struct page *page = virt_to_page(pte); struct page *page = virt_to_page(pte);
pgtable_page_dtor(page); pgtable_pte_page_dtor(page);
__free_page(page); __free_page(page);
} }
......
...@@ -378,7 +378,7 @@ pgtable_t pte_alloc_one(struct mm_struct *mm) ...@@ -378,7 +378,7 @@ pgtable_t pte_alloc_one(struct mm_struct *mm)
if ((pte = (unsigned long)pte_alloc_one_kernel(mm)) == 0) if ((pte = (unsigned long)pte_alloc_one_kernel(mm)) == 0)
return NULL; return NULL;
page = pfn_to_page(__nocache_pa(pte) >> PAGE_SHIFT); page = pfn_to_page(__nocache_pa(pte) >> PAGE_SHIFT);
if (!pgtable_page_ctor(page)) { if (!pgtable_pte_page_ctor(page)) {
__free_page(page); __free_page(page);
return NULL; return NULL;
} }
...@@ -389,7 +389,7 @@ void pte_free(struct mm_struct *mm, pgtable_t pte) ...@@ -389,7 +389,7 @@ void pte_free(struct mm_struct *mm, pgtable_t pte)
{ {
unsigned long p; unsigned long p;
pgtable_page_dtor(pte); pgtable_pte_page_dtor(pte);
p = (unsigned long)page_address(pte); /* Cached address (for test) */ p = (unsigned long)page_address(pte); /* Cached address (for test) */
if (p == 0) if (p == 0)
BUG(); BUG();
......
...@@ -29,7 +29,7 @@ extern void pgd_free(struct mm_struct *mm, pgd_t *pgd); ...@@ -29,7 +29,7 @@ extern void pgd_free(struct mm_struct *mm, pgd_t *pgd);
#define __pte_free_tlb(tlb,pte, address) \ #define __pte_free_tlb(tlb,pte, address) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page((tlb),(pte)); \ tlb_remove_page((tlb),(pte)); \
} while (0) } while (0)
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#define __pte_free_tlb(tlb, pte, addr) \ #define __pte_free_tlb(tlb, pte, addr) \
do { \ do { \
pgtable_page_dtor(pte); \ pgtable_pte_page_dtor(pte); \
tlb_remove_page((tlb), (pte)); \ tlb_remove_page((tlb), (pte)); \
} while (0) } while (0)
......
...@@ -45,7 +45,7 @@ early_param("userpte", setup_userpte); ...@@ -45,7 +45,7 @@ early_param("userpte", setup_userpte);
void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte) void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte)
{ {
pgtable_page_dtor(pte); pgtable_pte_page_dtor(pte);
paravirt_release_pte(page_to_pfn(pte)); paravirt_release_pte(page_to_pfn(pte));
paravirt_tlb_remove_table(tlb, pte); paravirt_tlb_remove_table(tlb, pte);
} }
......
...@@ -55,7 +55,7 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm) ...@@ -55,7 +55,7 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
if (!pte) if (!pte)
return NULL; return NULL;
page = virt_to_page(pte); page = virt_to_page(pte);
if (!pgtable_page_ctor(page)) { if (!pgtable_pte_page_ctor(page)) {
__free_page(page); __free_page(page);
return NULL; return NULL;
} }
...@@ -69,7 +69,7 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) ...@@ -69,7 +69,7 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
static inline void pte_free(struct mm_struct *mm, pgtable_t pte) static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
{ {
pgtable_page_dtor(pte); pgtable_pte_page_dtor(pte);
__free_page(pte); __free_page(pte);
} }
#define pmd_pgtable(pmd) pmd_page(pmd) #define pmd_pgtable(pmd) pmd_page(pmd)
......
...@@ -49,7 +49,7 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) ...@@ -49,7 +49,7 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
* @mm: the mm_struct of the current context * @mm: the mm_struct of the current context
* @gfp: GFP flags to use for the allocation * @gfp: GFP flags to use for the allocation
* *
* Allocates a page and runs the pgtable_page_ctor(). * Allocates a page and runs the pgtable_pte_page_ctor().
* *
* This function is intended for architectures that need * This function is intended for architectures that need
* anything beyond simple page allocation or must have custom GFP flags. * anything beyond simple page allocation or must have custom GFP flags.
...@@ -63,7 +63,7 @@ static inline pgtable_t __pte_alloc_one(struct mm_struct *mm, gfp_t gfp) ...@@ -63,7 +63,7 @@ static inline pgtable_t __pte_alloc_one(struct mm_struct *mm, gfp_t gfp)
pte = alloc_page(gfp); pte = alloc_page(gfp);
if (!pte) if (!pte)
return NULL; return NULL;
if (!pgtable_page_ctor(pte)) { if (!pgtable_pte_page_ctor(pte)) {
__free_page(pte); __free_page(pte);
return NULL; return NULL;
} }
...@@ -76,7 +76,7 @@ static inline pgtable_t __pte_alloc_one(struct mm_struct *mm, gfp_t gfp) ...@@ -76,7 +76,7 @@ static inline pgtable_t __pte_alloc_one(struct mm_struct *mm, gfp_t gfp)
* pte_alloc_one - allocate a page for PTE-level user page table * pte_alloc_one - allocate a page for PTE-level user page table
* @mm: the mm_struct of the current context * @mm: the mm_struct of the current context
* *
* Allocates a page and runs the pgtable_page_ctor(). * Allocates a page and runs the pgtable_pte_page_ctor().
* *
* Return: `struct page` initialized as page table or %NULL on error * Return: `struct page` initialized as page table or %NULL on error
*/ */
...@@ -98,7 +98,7 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm) ...@@ -98,7 +98,7 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
*/ */
static inline void pte_free(struct mm_struct *mm, struct page *pte_page) static inline void pte_free(struct mm_struct *mm, struct page *pte_page)
{ {
pgtable_page_dtor(pte_page); pgtable_pte_page_dtor(pte_page);
__free_page(pte_page); __free_page(pte_page);
} }
......
...@@ -1949,7 +1949,7 @@ static inline void pgtable_init(void) ...@@ -1949,7 +1949,7 @@ static inline void pgtable_init(void)
pgtable_cache_init(); pgtable_cache_init();
} }
static inline bool pgtable_page_ctor(struct page *page) static inline bool pgtable_pte_page_ctor(struct page *page)
{ {
if (!ptlock_init(page)) if (!ptlock_init(page))
return false; return false;
...@@ -1958,7 +1958,7 @@ static inline bool pgtable_page_ctor(struct page *page) ...@@ -1958,7 +1958,7 @@ static inline bool pgtable_page_ctor(struct page *page)
return true; return true;
} }
static inline void pgtable_page_dtor(struct page *page) static inline void pgtable_pte_page_dtor(struct page *page)
{ {
ptlock_free(page); ptlock_free(page);
__ClearPageTable(page); __ClearPageTable(page);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment