mm/page_ext: resurrect struct page extending code for debugging
[linux-2.6-block.git] / mm / Kconfig.debug
CommitLineData
eefa864b
JK
1config PAGE_EXTENSION
2 bool "Extend memmap on extra space for more information on page"
3 ---help---
4 Extend memmap on extra space for more information on page. This
5 could be used for debugging features that need to insert extra
6 field for every page. This extension enables us to save memory
7 by not allocating this extra memory according to boottime
8 configuration.
9
ee3b4290
AM
10config DEBUG_PAGEALLOC
11 bool "Debug page memory allocations"
7bc32f6f
AM
12 depends on DEBUG_KERNEL
13 depends on !HIBERNATION || ARCH_SUPPORTS_DEBUG_PAGEALLOC && !PPC && !SPARC
7d46d9e6 14 depends on !KMEMCHECK
7bc32f6f 15 select PAGE_POISONING if !ARCH_SUPPORTS_DEBUG_PAGEALLOC
c0a32fc5 16 select PAGE_GUARD if ARCH_SUPPORTS_DEBUG_PAGEALLOC
ee3b4290
AM
17 ---help---
18 Unmap pages from the kernel linear mapping after free_pages().
19 This results in a large slowdown, but helps to find certain types
22f8b458 20 of memory corruption.
ee3b4290 21
7bc32f6f
AM
22 For architectures which don't enable ARCH_SUPPORTS_DEBUG_PAGEALLOC,
23 fill the pages with poison patterns after free_pages() and verify
24 the patterns before alloc_pages(). Additionally,
25 this option cannot be enabled in combination with hibernation as
26 that would result in incorrect warnings of memory corruption after
27 a resume because free pages are not saved to the suspend image.
28
6a11f75b
AM
29config WANT_PAGE_DEBUG_FLAGS
30 bool
31
32config PAGE_POISONING
7bc32f6f 33 bool
6a11f75b 34 select WANT_PAGE_DEBUG_FLAGS
c0a32fc5
SG
35
36config PAGE_GUARD
37 bool
38 select WANT_PAGE_DEBUG_FLAGS