aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2013-11-14 17:31:22 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-14 19:32:16 -0500
commit0470d4aa29eb0a49554fe71e986e6d6c38dd85cb (patch)
tree0498e69f5748d09ea64cd1341a80ff6a9d3bf125 /arch
parent8abe73465660f12dee03871f681175f4dae62e7f (diff)
mn10300: add missing pgtable_page_ctor/dtor calls
It will fix NR_PAGETABLE accounting. It's also required if the arch is going ever support split ptl. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Acked-by: David Howells <dhowells@redhat.com> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mn10300/include/asm/pgalloc.h1
-rw-r--r--arch/mn10300/mm/pgtable.c9
2 files changed, 8 insertions, 2 deletions
diff --git a/arch/mn10300/include/asm/pgalloc.h b/arch/mn10300/include/asm/pgalloc.h
index 146bacf193ea..0f25d5fa86f3 100644
--- a/arch/mn10300/include/asm/pgalloc.h
+++ b/arch/mn10300/include/asm/pgalloc.h
@@ -46,6 +46,7 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
46 46
47static inline void pte_free(struct mm_struct *mm, struct page *pte) 47static inline void pte_free(struct mm_struct *mm, struct page *pte)
48{ 48{
49 pgtable_page_dtor(pte);
49 __free_page(pte); 50 __free_page(pte);
50} 51}
51 52
diff --git a/arch/mn10300/mm/pgtable.c b/arch/mn10300/mm/pgtable.c
index bd9ada693f95..e77a7c728081 100644
--- a/arch/mn10300/mm/pgtable.c
+++ b/arch/mn10300/mm/pgtable.c
@@ -78,8 +78,13 @@ struct page *pte_alloc_one(struct mm_struct *mm, unsigned long address)
78#else 78#else
79 pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT, 0); 79 pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT, 0);
80#endif 80#endif
81 if (pte) 81 if (!pte)
82 clear_highpage(pte); 82 return NULL;
83 clear_highpage(pte);
84 if (!pgtable_page_ctor(pte)) {
85 __free_page(pte);
86 return NULL;
87 }
83 return pte; 88 return pte;
84} 89}
85 90