Skip to content

Commit 6ed1b8a

Browse files
VMoolaakpm00
authored andcommitted
mm: convert ptlock_free() to use ptdescs
This removes some direct accesses to struct page, working towards splitting out struct ptdesc from struct page. Link: https://lkml.kernel.org/r/20230807230513.102486-11-vishal.moola@gmail.com Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: Claudio Imbrenda <imbrenda@linux.ibm.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: David Hildenbrand <david@redhat.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Geert Uytterhoeven <geert+renesas@glider.be> Cc: Guo Ren <guoren@kernel.org> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Hugh Dickins <hughd@google.com> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Jonas Bonn <jonas@southpole.se> Cc: Matthew Wilcox <willy@infradead.org> Cc: Palmer Dabbelt <palmer@rivosinc.com> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Richard Weinberger <richard@nod.at> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 7e5f42a commit 6ed1b8a

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

include/linux/mm.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2827,7 +2827,7 @@ static inline void pagetable_free(struct ptdesc *pt)
28272827
#if ALLOC_SPLIT_PTLOCKS
28282828
void __init ptlock_cache_init(void);
28292829
bool ptlock_alloc(struct ptdesc *ptdesc);
2830-
extern void ptlock_free(struct page *page);
2830+
void ptlock_free(struct ptdesc *ptdesc);
28312831

28322832
static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
28332833
{
@@ -2843,7 +2843,7 @@ static inline bool ptlock_alloc(struct ptdesc *ptdesc)
28432843
return true;
28442844
}
28452845

2846-
static inline void ptlock_free(struct page *page)
2846+
static inline void ptlock_free(struct ptdesc *ptdesc)
28472847
{
28482848
}
28492849

@@ -2884,7 +2884,7 @@ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd)
28842884
}
28852885
static inline void ptlock_cache_init(void) {}
28862886
static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; }
2887-
static inline void ptlock_free(struct page *page) {}
2887+
static inline void ptlock_free(struct ptdesc *ptdesc) {}
28882888
#endif /* USE_SPLIT_PTE_PTLOCKS */
28892889

28902890
static inline bool pgtable_pte_page_ctor(struct page *page)
@@ -2898,7 +2898,7 @@ static inline bool pgtable_pte_page_ctor(struct page *page)
28982898

28992899
static inline void pgtable_pte_page_dtor(struct page *page)
29002900
{
2901-
ptlock_free(page);
2901+
ptlock_free(page_ptdesc(page));
29022902
__ClearPageTable(page);
29032903
dec_lruvec_page_state(page, NR_PAGETABLE);
29042904
}
@@ -2972,7 +2972,7 @@ static inline void pmd_ptlock_free(struct ptdesc *ptdesc)
29722972
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
29732973
VM_BUG_ON_PAGE(ptdesc->pmd_huge_pte, ptdesc_page(ptdesc));
29742974
#endif
2975-
ptlock_free(ptdesc_page(ptdesc));
2975+
ptlock_free(ptdesc);
29762976
}
29772977

29782978
#define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte)

mm/memory.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6125,8 +6125,8 @@ bool ptlock_alloc(struct ptdesc *ptdesc)
61256125
return true;
61266126
}
61276127

6128-
void ptlock_free(struct page *page)
6128+
void ptlock_free(struct ptdesc *ptdesc)
61296129
{
6130-
kmem_cache_free(page_ptl_cachep, page->ptl);
6130+
kmem_cache_free(page_ptl_cachep, ptdesc->ptl);
61316131
}
61326132
#endif

0 commit comments

Comments
 (0)