summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVinayak Menon <vinmenon@codeaurora.org>2017-03-31 11:13:06 +1100
committerVinayak Menon <vinmenon@codeaurora.org>2017-04-14 23:43:05 +0530
commit49118fe6a32a49d198128a6dd1d6bfd0e3b189f8 (patch)
tree33b2a80dfe6d7e81f17ab2d0da76278370be0793 /include
parent2c00b603db67af40aa0b02c834cc58fec98d3023 (diff)
mm: enable page poisoning early at boot
On SPARSEMEM systems page poisoning is enabled after buddy is up, because of the dependency on page extension init. This causes the pages released by free_all_bootmem not to be poisoned. This either delays or misses the identification of some issues because the pages have to undergo another cycle of alloc-free-alloc for any corruption to be detected. Enable page poisoning early by getting rid of the PAGE_EXT_DEBUG_POISON flag. Since all the free pages will now be poisoned, the flag need not be verified before checking the poison during an alloc. Link: http://lkml.kernel.org/r/1490358246-11001-1-git-send-email-vinmenon@codeaurora.org Acked-by: Laura Abbott <labbott@redhat.com> Tested-by: Laura Abbott <labbott@redhat.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> [vinmenon@codeaurora.org: resolve trivial merge conflicts. Remove the redundant free pages RO feature from the page_poison.c file which is the reason for conflicts + squash the addendum commit 40961ef8d65f51093bc94de110b97b590b6b9275 ('mm-enable-page-poisoning-early-at-boot-v2')] Git-commit: c5b7cd344fd6341e6db79e55c0f1f4d1d9c67a7e Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git Change-Id: I1bb1f99d3a2e1135131911905e0916c837ba9d8a Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/mm.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index d9fe27c8a57e..3c10d4638646 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2306,7 +2306,6 @@ extern void copy_user_huge_page(struct page *dst, struct page *src,
#endif /* CONFIG_TRANSPARENT_HUGEPAGE || CONFIG_HUGETLBFS */
extern struct page_ext_operations debug_guardpage_ops;
-extern struct page_ext_operations page_poisoning_ops;
#ifdef CONFIG_DEBUG_PAGEALLOC
extern unsigned int _debug_guardpage_minorder;