--- v8
+++ v1
@@ -2,78 +2,50 @@
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
-Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
---
include/linux/mm.h | 10 +++++-----
- mm/memory.c | 4 ++--
- 2 files changed, 7 insertions(+), 7 deletions(-)
+ 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 774fe83c0c16..ffddae95af78 100644
+index d2485a110936..2390fc2542aa 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
-@@ -2842,7 +2842,7 @@ static inline void pagetable_free(struct ptdesc *pt)
- #if ALLOC_SPLIT_PTLOCKS
- void __init ptlock_cache_init(void);
- bool ptlock_alloc(struct ptdesc *ptdesc);
--extern void ptlock_free(struct page *page);
-+void ptlock_free(struct ptdesc *ptdesc);
-
- static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
- {
-@@ -2858,7 +2858,7 @@ static inline bool ptlock_alloc(struct ptdesc *ptdesc)
- return true;
+@@ -2911,12 +2911,12 @@ static inline bool pmd_ptlock_init(struct ptdesc *ptdesc)
+ return ptlock_init(ptdesc);
}
--static inline void ptlock_free(struct page *page)
-+static inline void ptlock_free(struct ptdesc *ptdesc)
+-static inline void pmd_ptlock_free(struct page *page)
++static inline void pmd_ptlock_free(struct ptdesc *ptdesc)
{
+ #ifdef CONFIG_TRANSPARENT_HUGEPAGE
+- VM_BUG_ON_PAGE(page->pmd_huge_pte, page);
++ VM_BUG_ON_PAGE(ptdesc->pmd_huge_pte, ptdesc_page(ptdesc));
+ #endif
+- ptlock_free(page);
++ ptlock_free(ptdesc_page(ptdesc));
}
-@@ -2899,7 +2899,7 @@ static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd)
+ #define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte)
+@@ -2929,7 +2929,7 @@ static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
}
- static inline void ptlock_cache_init(void) {}
- static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; }
--static inline void ptlock_free(struct page *page) {}
-+static inline void ptlock_free(struct ptdesc *ptdesc) {}
- #endif /* USE_SPLIT_PTE_PTLOCKS */
- static inline bool pgtable_pte_page_ctor(struct page *page)
-@@ -2913,7 +2913,7 @@ static inline bool pgtable_pte_page_ctor(struct page *page)
+ static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) { return true; }
+-static inline void pmd_ptlock_free(struct page *page) {}
++static inline void pmd_ptlock_free(struct ptdesc *ptdesc) {}
- static inline void pgtable_pte_page_dtor(struct page *page)
+ #define pmd_huge_pte(mm, pmd) ((mm)->pmd_huge_pte)
+
+@@ -2953,7 +2953,7 @@ static inline bool pgtable_pmd_page_ctor(struct page *page)
+
+ static inline void pgtable_pmd_page_dtor(struct page *page)
{
-- ptlock_free(page);
-+ ptlock_free(page_ptdesc(page));
+- pmd_ptlock_free(page);
++ pmd_ptlock_free(page_ptdesc(page));
__ClearPageTable(page);
dec_lruvec_page_state(page, NR_PAGETABLE);
}
-@@ -2987,7 +2987,7 @@ static inline void pmd_ptlock_free(struct ptdesc *ptdesc)
- #ifdef CONFIG_TRANSPARENT_HUGEPAGE
- VM_BUG_ON_PAGE(ptdesc->pmd_huge_pte, ptdesc_page(ptdesc));
- #endif
-- ptlock_free(ptdesc_page(ptdesc));
-+ ptlock_free(ptdesc);
- }
-
- #define pmd_huge_pte(mm, pmd) (pmd_ptdesc(pmd)->pmd_huge_pte)
-diff --git a/mm/memory.c b/mm/memory.c
-index 4fee273595e2..e5e370cdac23 100644
---- a/mm/memory.c
-+++ b/mm/memory.c
-@@ -6242,8 +6242,8 @@ bool ptlock_alloc(struct ptdesc *ptdesc)
- return true;
- }
-
--void ptlock_free(struct page *page)
-+void ptlock_free(struct ptdesc *ptdesc)
- {
-- kmem_cache_free(page_ptl_cachep, page->ptl);
-+ kmem_cache_free(page_ptl_cachep, ptdesc->ptl);
- }
- #endif
--
-2.40.1
+2.39.2
_______________________________________________