From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> To: Andrew Morton <akpm@linux-foundation.org>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com> Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>, David Howells <dhowells@redhat.com>, Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Subject: [PATCH 07/34] mn10300: add missing pgtable_page_ctor/dtor calls Date: Thu, 10 Oct 2013 21:05:32 +0300 [thread overview] Message-ID: <1381428359-14843-8-git-send-email-kirill.shutemov@linux.intel.com> (raw) In-Reply-To: <1381428359-14843-1-git-send-email-kirill.shutemov@linux.intel.com> 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> Cc: David Howells <dhowells@redhat.com> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> --- arch/mn10300/include/asm/pgalloc.h | 1 + arch/mn10300/mm/pgtable.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/mn10300/include/asm/pgalloc.h b/arch/mn10300/include/asm/pgalloc.h index 146bacf193..0f25d5fa86 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) static inline void pte_free(struct mm_struct *mm, struct page *pte) { + pgtable_page_dtor(pte); __free_page(pte); } diff --git a/arch/mn10300/mm/pgtable.c b/arch/mn10300/mm/pgtable.c index bd9ada693f..e77a7c7280 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) #else pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT, 0); #endif - if (pte) - clear_highpage(pte); + if (!pte) + return NULL; + clear_highpage(pte); + if (!pgtable_page_ctor(pte)) { + __free_page(pte); + return NULL; + } return pte; } -- 1.8.4.rc3 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> To: Andrew Morton <akpm@linux-foundation.org>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com> Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>, David Howells <dhowells@redhat.com>, Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Subject: [PATCH 07/34] mn10300: add missing pgtable_page_ctor/dtor calls Date: Thu, 10 Oct 2013 21:05:32 +0300 [thread overview] Message-ID: <1381428359-14843-8-git-send-email-kirill.shutemov@linux.intel.com> (raw) Message-ID: <20131010180532.KRfScG6U2UDqYiW-1J2Maw1gA_9sh6GeuDAVFKp9Oyo@z> (raw) In-Reply-To: <1381428359-14843-1-git-send-email-kirill.shutemov@linux.intel.com> 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> Cc: David Howells <dhowells@redhat.com> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> --- arch/mn10300/include/asm/pgalloc.h | 1 + arch/mn10300/mm/pgtable.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/mn10300/include/asm/pgalloc.h b/arch/mn10300/include/asm/pgalloc.h index 146bacf193..0f25d5fa86 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) static inline void pte_free(struct mm_struct *mm, struct page *pte) { + pgtable_page_dtor(pte); __free_page(pte); } diff --git a/arch/mn10300/mm/pgtable.c b/arch/mn10300/mm/pgtable.c index bd9ada693f..e77a7c7280 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) #else pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT, 0); #endif - if (pte) - clear_highpage(pte); + if (!pte) + return NULL; + clear_highpage(pte); + if (!pgtable_page_ctor(pte)) { + __free_page(pte); + return NULL; + } return pte; } -- 1.8.4.rc3
next prev parent reply other threads:[~2013-10-10 18:05 UTC|newest] Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-10-10 18:05 [PATCH 00/34] dynamically allocate split ptl if it cannot be embedded to struct page Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 01/34] x86: add missed pgtable_pmd_page_ctor/dtor calls for preallocated pmds Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-11 5:50 ` Ingo Molnar 2013-10-11 5:50 ` Ingo Molnar 2013-10-10 18:05 ` [PATCH 02/34] cris: fix potential NULL-pointer dereference Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-11 9:58 ` Jesper Nilsson 2013-10-11 9:58 ` Jesper Nilsson 2013-10-10 18:05 ` [PATCH 03/34] m32r: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 04/34] xtensa: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 05/34] mm: allow pgtable_page_ctor() to fail Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 06/34] microblaze: add missing pgtable_page_ctor/dtor calls Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov [this message] 2013-10-10 18:05 ` [PATCH 07/34] mn10300: " Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 08/34] openrisc: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 09/34] alpha: handle pgtable_page_ctor() fail Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 10/34] arc: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-16 7:55 ` Vineet Gupta 2013-10-10 18:05 ` [PATCH 11/34] arm: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 20:18 ` Russell King - ARM Linux 2013-10-10 21:53 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 12/34] arm64: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 13/34] avr32: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 19:14 ` Hans-Christian Egtvedt 2013-10-10 19:14 ` Hans-Christian Egtvedt 2013-10-10 18:05 ` [PATCH 14/34] cris: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-11 9:57 ` Jesper Nilsson 2013-10-11 9:57 ` Jesper Nilsson 2013-10-10 18:05 ` [PATCH 15/34] frv: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 16/34] hexagon: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 17/34] ia64: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 18/34] m32r: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 19/34] m68k: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-16 8:07 ` Geert Uytterhoeven 2013-10-16 8:07 ` Geert Uytterhoeven 2013-10-16 9:56 ` Kirill A. Shutemov 2013-10-16 9:56 ` Kirill A. Shutemov 2013-10-16 10:29 ` Kirill A. Shutemov 2013-10-16 10:29 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 20/34] metag: " Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 21/34] mips: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 22/34] parisc: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 23/34] powerpc: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 24/34] s390: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 25/34] score: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-13 10:07 ` Lennox Wu 2013-10-10 18:05 ` [PATCH 26/34] sh: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 27/34] sparc: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:33 ` David Miller 2013-10-10 18:05 ` [PATCH 28/34] tile: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 19:50 ` Chris Metcalf 2013-10-10 19:50 ` Chris Metcalf 2013-10-10 18:05 ` [PATCH 29/34] um: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 30/34] unicore32: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 31/34] x86: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 32/34] xtensa: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 18:05 ` [PATCH 33/34] iommu/arm-smmu: " Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-11 10:26 ` Will Deacon 2013-10-11 10:26 ` Will Deacon 2013-10-10 18:05 ` [PATCH 34/34] mm: dynamically allocate page->ptl if it cannot be embedded to struct page Kirill A. Shutemov 2013-10-10 18:05 ` Kirill A. Shutemov 2013-10-10 20:00 ` Christoph Lameter 2013-10-10 20:09 ` Kirill A. Shutemov 2013-10-10 20:09 ` Kirill A. Shutemov 2013-10-11 14:01 ` Christoph Lameter 2013-10-11 14:01 ` Christoph Lameter 2013-10-14 9:04 ` Kirill A. Shutemov 2013-10-14 19:04 ` Christoph Lameter 2013-10-14 19:04 ` Christoph Lameter 2013-10-14 21:25 ` Kirill A. Shutemov 2013-10-14 22:13 ` Christoph Lameter 2013-10-14 22:13 ` Christoph Lameter 2013-10-14 22:26 ` Kirill A. Shutemov 2013-11-20 8:44 ` Andrey Wagin 2013-11-20 8:44 ` Andrey Wagin 2013-11-20 12:53 ` Kirill A. Shutemov 2013-11-20 12:56 ` Andrey Wagin 2013-11-20 12:56 ` Andrey Wagin 2013-11-20 13:06 ` Kirill A. Shutemov 2013-11-20 13:06 ` Kirill A. Shutemov 2013-11-20 13:29 ` Andrey Wagin 2013-10-10 19:47 ` [PATCH 00/34] dynamically allocate split ptl " Peter Zijlstra 2013-10-11 16:30 ` [PATCH 15/34] frv: handle pgtable_page_ctor() fail David Howells 2013-10-11 16:30 ` David Howells 2013-10-14 9:12 ` Kirill A. Shutemov 2013-10-14 9:12 ` Kirill A. Shutemov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1381428359-14843-8-git-send-email-kirill.shutemov@linux.intel.com \ --to=kirill.shutemov@linux.intel.com \ --cc=akpm@linux-foundation.org \ --cc=dhowells@redhat.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mingo@redhat.com \ --cc=peterz@infradead.org \ --cc=yasutake.koichi@jp.panasonic.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).