diff options
author | Nick Piggin <nickpiggin@yahoo.com.au> | 2006-01-06 00:10:57 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 08:33:25 -0800 |
commit | 77a8a78834561398fb4cb1480afa7b0e80b1dd53 (patch) | |
tree | c58179bfb6c68fb6cad547852345150be039591f | |
parent | c54ad30c784b84d0275152d0ca80985b21471811 (diff) | |
download | linux-3.10-77a8a78834561398fb4cb1480afa7b0e80b1dd53.tar.gz linux-3.10-77a8a78834561398fb4cb1480afa7b0e80b1dd53.tar.bz2 linux-3.10-77a8a78834561398fb4cb1480afa7b0e80b1dd53.zip |
[PATCH] mm: set_page_refs opt
Inline set_page_refs.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | mm/internal.h | 19 | ||||
-rw-r--r-- | mm/page_alloc.c | 17 |
2 files changed, 17 insertions, 19 deletions
diff --git a/mm/internal.h b/mm/internal.h index 6bf134e8fb3..85004f540e3 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -9,5 +9,20 @@ * 2 of the License, or (at your option) any later version. */ -/* page_alloc.c */ -extern void set_page_refs(struct page *page, int order); +static inline void set_page_refs(struct page *page, int order) +{ +#ifdef CONFIG_MMU + set_page_count(page, 1); +#else + int i; + + /* + * We need to reference all the pages for this order, otherwise if + * anyone accesses one of the pages with (get/put) it will be freed. + * - eg: access_process_vm() + */ + for (i = 0; i < (1 << order); i++) + set_page_count(page + i, 1); +#endif /* CONFIG_MMU */ +} + diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 680cbe5b6ba..6d513faf050 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -453,23 +453,6 @@ expand(struct zone *zone, struct page *page, return page; } -void set_page_refs(struct page *page, int order) -{ -#ifdef CONFIG_MMU - set_page_count(page, 1); -#else - int i; - - /* - * We need to reference all the pages for this order, otherwise if - * anyone accesses one of the pages with (get/put) it will be freed. - * - eg: access_process_vm() - */ - for (i = 0; i < (1 << order); i++) - set_page_count(page + i, 1); -#endif /* CONFIG_MMU */ -} - /* * This page is about to be returned from the page allocator */ |