aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmzone.h
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2006-09-27 04:50:01 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-27 11:26:12 -0400
commit5b99cd0effaf846240a15441aec459a592577eaf (patch)
tree355772422c716698762030e6261596c2ba484a37 /include/linux/mmzone.h
parente129b5c23c2b471d47f1c5d2b8b193fc2034af43 (diff)
[PATCH] own header file for struct page
This moves the definition of struct page from mm.h to its own header file page-struct.h. This is a prereq to fix SetPageUptodate which is broken on s390: #define SetPageUptodate(_page) do { struct page *__page = (_page); if (!test_and_set_bit(PG_uptodate, &__page->flags)) page_test_and_clear_dirty(_page); } while (0) _page gets used twice in this macro which can cause subtle bugs. Using __page for the page_test_and_clear_dirty call doesn't work since it causes yet another problem with the page_test_and_clear_dirty macro as well. In order to avoid all these problems caused by macros it seems to be a good idea to get rid of them and convert them to static inline functions. Because of header file include order it's necessary to have a seperate header file for the struct page definition. Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/mmzone.h')
-rw-r--r--include/linux/mmzone.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 1b0680cd84d2..562cf7a8f3ee 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -314,6 +314,11 @@ struct node_active_region {
314}; 314};
315#endif /* CONFIG_ARCH_POPULATES_NODE_MAP */ 315#endif /* CONFIG_ARCH_POPULATES_NODE_MAP */
316 316
317#ifndef CONFIG_DISCONTIGMEM
318/* The array of struct pages - for discontigmem use pgdat->lmem_map */
319extern struct page *mem_map;
320#endif
321
317/* 322/*
318 * The pg_data_t structure is used in machines with CONFIG_DISCONTIGMEM 323 * The pg_data_t structure is used in machines with CONFIG_DISCONTIGMEM
319 * (mostly NUMA machines?) to denote a higher-level memory zone than the 324 * (mostly NUMA machines?) to denote a higher-level memory zone than the