aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Piggin <nickpiggin@yahoo.com.au>2006-01-06 03:10:57 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 11:33:25 -0500
commit77a8a78834561398fb4cb1480afa7b0e80b1dd53 (patch)
treec58179bfb6c68fb6cad547852345150be039591f
parentc54ad30c784b84d0275152d0ca80985b21471811 (diff)
[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.h19
-rw-r--r--mm/page_alloc.c17
2 files changed, 17 insertions, 19 deletions
diff --git a/mm/internal.h b/mm/internal.h
index 6bf134e8fb3d..85004f540e34 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -9,5 +9,20 @@
9 * 2 of the License, or (at your option) any later version. 9 * 2 of the License, or (at your option) any later version.
10 */ 10 */
11 11
12/* page_alloc.c */ 12static inline void set_page_refs(struct page *page, int order)
13extern void set_page_refs(struct page *page, int order); 13{
14#ifdef CONFIG_MMU
15 set_page_count(page, 1);
16#else
17 int i;
18
19 /*
20 * We need to reference all the pages for this order, otherwise if
21 * anyone accesses one of the pages with (get/put) it will be freed.
22 * - eg: access_process_vm()
23 */
24 for (i = 0; i < (1 << order); i++)
25 set_page_count(page + i, 1);
26#endif /* CONFIG_MMU */
27}
28
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 680cbe5b6ba2..6d513faf050b 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -453,23 +453,6 @@ expand(struct zone *zone, struct page *page,
453 return page; 453 return page;
454} 454}
455 455
456void set_page_refs(struct page *page, int order)
457{
458#ifdef CONFIG_MMU
459 set_page_count(page, 1);
460#else
461 int i;
462
463 /*
464 * We need to reference all the pages for this order, otherwise if
465 * anyone accesses one of the pages with (get/put) it will be freed.
466 * - eg: access_process_vm()
467 */
468 for (i = 0; i < (1 << order); i++)
469 set_page_count(page + i, 1);
470#endif /* CONFIG_MMU */
471}
472
473/* 456/*
474 * This page is about to be returned from the page allocator 457 * This page is about to be returned from the page allocator
475 */ 458 */