diff options
author | Nick Piggin <npiggin@suse.de> | 2006-03-22 03:08:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 10:54:01 -0500 |
commit | 84097518d1ecd2330f9488e4c2d09953a3340e74 (patch) | |
tree | 50981fe0584c456a1a86e6d7f611eec223b5f536 /mm/internal.h | |
parent | 0f8053a509ceba4a077a50ea7b77039b5559b428 (diff) |
[PATCH] mm: nommu use compound pages
Now that compound page handling is properly fixed in the VM, move nommu
over to using compound pages rather than rolling their own refcounting.
nommu vm page refcounting is broken anyway, but there is no need to have
divergent code in the core VM now, nor when it gets fixed.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: David Howells <dhowells@redhat.com>
(Needs testing, please).
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/internal.h')
-rw-r--r-- | mm/internal.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/mm/internal.h b/mm/internal.h index e3042db2a2d6..7bb339779818 100644 --- a/mm/internal.h +++ b/mm/internal.h | |||
@@ -15,19 +15,7 @@ | |||
15 | 15 | ||
16 | static inline void set_page_refs(struct page *page, int order) | 16 | static inline void set_page_refs(struct page *page, int order) |
17 | { | 17 | { |
18 | #ifdef CONFIG_MMU | ||
19 | set_page_count(page, 1); | 18 | set_page_count(page, 1); |
20 | #else | ||
21 | int i; | ||
22 | |||
23 | /* | ||
24 | * We need to reference all the pages for this order, otherwise if | ||
25 | * anyone accesses one of the pages with (get/put) it will be freed. | ||
26 | * - eg: access_process_vm() | ||
27 | */ | ||
28 | for (i = 0; i < (1 << order); i++) | ||
29 | set_page_count(page + i, 1); | ||
30 | #endif /* CONFIG_MMU */ | ||
31 | } | 19 | } |
32 | 20 | ||
33 | static inline void __put_page(struct page *page) | 21 | static inline void __put_page(struct page *page) |