diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2009-04-02 19:56:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-02 22:04:48 -0400 |
commit | ee3b4290aec03022cfb67c9adba9f1b3215245f0 (patch) | |
tree | 37130f5de4d5ccd2be4902dc3dec9ec6a371c2ed | |
parent | 833bb3046b6cb320e775ea2160ddca87d53260d5 (diff) |
generic debug pagealloc: build fix
This fixes a build failure with generic debug pagealloc:
mm/debug-pagealloc.c: In function 'set_page_poison':
mm/debug-pagealloc.c:8: error: 'struct page' has no member named 'debug_flags'
mm/debug-pagealloc.c: In function 'clear_page_poison':
mm/debug-pagealloc.c:13: error: 'struct page' has no member named 'debug_flags'
mm/debug-pagealloc.c: In function 'page_poison':
mm/debug-pagealloc.c:18: error: 'struct page' has no member named 'debug_flags'
mm/debug-pagealloc.c: At top level:
mm/debug-pagealloc.c:120: error: redefinition of 'kernel_map_pages'
include/linux/mm.h:1278: error: previous definition of 'kernel_map_pages' was here
mm/debug-pagealloc.c: In function 'kernel_map_pages':
mm/debug-pagealloc.c:122: error: 'debug_pagealloc_enabled' undeclared (first use in this function)
by fixing
- debug_flags should be in struct page
- define DEBUG_PAGEALLOC config option for all architectures
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Reported-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/powerpc/Kconfig.debug | 10 | ||||
-rw-r--r-- | arch/s390/Kconfig.debug | 9 | ||||
-rw-r--r-- | arch/sparc/Kconfig.debug | 9 | ||||
-rw-r--r-- | arch/x86/Kconfig.debug | 9 | ||||
-rw-r--r-- | include/linux/mm_types.h | 6 | ||||
-rw-r--r-- | mm/Kconfig.debug | 9 |
6 files changed, 12 insertions, 40 deletions
diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug index 6aa0b5e087cd..a1098e23221f 100644 --- a/arch/powerpc/Kconfig.debug +++ b/arch/powerpc/Kconfig.debug | |||
@@ -27,16 +27,6 @@ config DEBUG_STACK_USAGE | |||
27 | 27 | ||
28 | This option will slow down process creation somewhat. | 28 | This option will slow down process creation somewhat. |
29 | 29 | ||
30 | config DEBUG_PAGEALLOC | ||
31 | bool "Debug page memory allocations" | ||
32 | depends on DEBUG_KERNEL && !HIBERNATION | ||
33 | depends on ARCH_SUPPORTS_DEBUG_PAGEALLOC | ||
34 | help | ||
35 | Unmap pages from the kernel linear mapping after free_pages(). | ||
36 | This results in a large slowdown, but helps to find certain types | ||
37 | of memory corruptions. | ||
38 | |||
39 | |||
40 | config HCALL_STATS | 30 | config HCALL_STATS |
41 | bool "Hypervisor call instrumentation" | 31 | bool "Hypervisor call instrumentation" |
42 | depends on PPC_PSERIES && DEBUG_FS | 32 | depends on PPC_PSERIES && DEBUG_FS |
diff --git a/arch/s390/Kconfig.debug b/arch/s390/Kconfig.debug index 7e297a3cde34..2283933a9a93 100644 --- a/arch/s390/Kconfig.debug +++ b/arch/s390/Kconfig.debug | |||
@@ -6,13 +6,4 @@ config TRACE_IRQFLAGS_SUPPORT | |||
6 | 6 | ||
7 | source "lib/Kconfig.debug" | 7 | source "lib/Kconfig.debug" |
8 | 8 | ||
9 | config DEBUG_PAGEALLOC | ||
10 | bool "Debug page memory allocations" | ||
11 | depends on DEBUG_KERNEL | ||
12 | depends on ARCH_SUPPORTS_DEBUG_PAGEALLOC | ||
13 | help | ||
14 | Unmap pages from the kernel linear mapping after free_pages(). | ||
15 | This results in a slowdown, but helps to find certain types of | ||
16 | memory corruptions. | ||
17 | |||
18 | endmenu | 9 | endmenu |
diff --git a/arch/sparc/Kconfig.debug b/arch/sparc/Kconfig.debug index d001b42041a5..90d5fe223a74 100644 --- a/arch/sparc/Kconfig.debug +++ b/arch/sparc/Kconfig.debug | |||
@@ -22,15 +22,6 @@ config DEBUG_DCFLUSH | |||
22 | config STACK_DEBUG | 22 | config STACK_DEBUG |
23 | bool "Stack Overflow Detection Support" | 23 | bool "Stack Overflow Detection Support" |
24 | 24 | ||
25 | config DEBUG_PAGEALLOC | ||
26 | bool "Debug page memory allocations" | ||
27 | depends on DEBUG_KERNEL && !HIBERNATION | ||
28 | depends on ARCH_SUPPORTS_DEBUG_PAGEALLOC | ||
29 | help | ||
30 | Unmap pages from the kernel linear mapping after free_pages(). | ||
31 | This results in a large slowdown, but helps to find certain types | ||
32 | of memory corruptions. | ||
33 | |||
34 | config MCOUNT | 25 | config MCOUNT |
35 | bool | 26 | bool |
36 | depends on SPARC64 | 27 | depends on SPARC64 |
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug index a345cb5447a8..d8359e73317f 100644 --- a/arch/x86/Kconfig.debug +++ b/arch/x86/Kconfig.debug | |||
@@ -72,15 +72,6 @@ config DEBUG_STACK_USAGE | |||
72 | 72 | ||
73 | This option will slow down process creation somewhat. | 73 | This option will slow down process creation somewhat. |
74 | 74 | ||
75 | config DEBUG_PAGEALLOC | ||
76 | bool "Debug page memory allocations" | ||
77 | depends on DEBUG_KERNEL | ||
78 | depends on ARCH_SUPPORTS_DEBUG_PAGEALLOC | ||
79 | ---help--- | ||
80 | Unmap pages from the kernel linear mapping after free_pages(). | ||
81 | This results in a large slowdown, but helps to find certain types | ||
82 | of memory corruptions. | ||
83 | |||
84 | config DEBUG_PER_CPU_MAPS | 75 | config DEBUG_PER_CPU_MAPS |
85 | bool "Debug access to per_cpu maps" | 76 | bool "Debug access to per_cpu maps" |
86 | depends on DEBUG_KERNEL | 77 | depends on DEBUG_KERNEL |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index ddadb4defe00..0e80e26ecf21 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
@@ -95,6 +95,9 @@ struct page { | |||
95 | void *virtual; /* Kernel virtual address (NULL if | 95 | void *virtual; /* Kernel virtual address (NULL if |
96 | not kmapped, ie. highmem) */ | 96 | not kmapped, ie. highmem) */ |
97 | #endif /* WANT_PAGE_VIRTUAL */ | 97 | #endif /* WANT_PAGE_VIRTUAL */ |
98 | #ifdef CONFIG_WANT_PAGE_DEBUG_FLAGS | ||
99 | unsigned long debug_flags; /* Use atomic bitops on this */ | ||
100 | #endif | ||
98 | }; | 101 | }; |
99 | 102 | ||
100 | /* | 103 | /* |
@@ -175,9 +178,6 @@ struct vm_area_struct { | |||
175 | #ifdef CONFIG_NUMA | 178 | #ifdef CONFIG_NUMA |
176 | struct mempolicy *vm_policy; /* NUMA policy for the VMA */ | 179 | struct mempolicy *vm_policy; /* NUMA policy for the VMA */ |
177 | #endif | 180 | #endif |
178 | #ifdef CONFIG_WANT_PAGE_DEBUG_FLAGS | ||
179 | unsigned long debug_flags; /* Use atomic bitops on this */ | ||
180 | #endif | ||
181 | }; | 181 | }; |
182 | 182 | ||
183 | struct core_thread { | 183 | struct core_thread { |
diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug index c8d62d49a44e..bb01e298f260 100644 --- a/mm/Kconfig.debug +++ b/mm/Kconfig.debug | |||
@@ -1,3 +1,12 @@ | |||
1 | config DEBUG_PAGEALLOC | ||
2 | bool "Debug page memory allocations" | ||
3 | depends on DEBUG_KERNEL && ARCH_SUPPORTS_DEBUG_PAGEALLOC | ||
4 | depends on !HIBERNATION || !PPC && !SPARC | ||
5 | ---help--- | ||
6 | Unmap pages from the kernel linear mapping after free_pages(). | ||
7 | This results in a large slowdown, but helps to find certain types | ||
8 | of memory corruptions. | ||
9 | |||
1 | config WANT_PAGE_DEBUG_FLAGS | 10 | config WANT_PAGE_DEBUG_FLAGS |
2 | bool | 11 | bool |
3 | 12 | ||