summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Hong <lihong.hi@gmail.com>2010-03-05 13:41:54 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-06 11:26:25 -0800
commitfc91668eaf9e7ba61e867fc2218b7e9fb67faa4f (patch)
tree08d443d76255e8d60ae6ba07d52cdc295172ded8
parentc475dab63ae798d81fb597a6a1859986b296d9d0 (diff)
downloadop-kernel-dev-fc91668eaf9e7ba61e867fc2218b7e9fb67faa4f.zip
op-kernel-dev-fc91668eaf9e7ba61e867fc2218b7e9fb67faa4f.tar.gz
mm: remove free_hot_page()
free_hot_page() is just a wrapper around free_hot_cold_page() with parameter 'cold = 0'. After adding a clear comment for free_hot_cold_page(), it is reasonable to remove a level of call. [akpm@linux-foundation.org: fix build] Signed-off-by: Li Hong <lihong.hi@gmail.com> Cc: Mel Gorman <mel@csn.ul.ie> Cc: Rik van Riel <riel@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Larry Woodman <lwoodman@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Li Ming Chun <macli@brc.ubc.ca> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Americo Wang <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/linux/gfp.h2
-rw-r--r--mm/page_alloc.c10
-rw-r--r--mm/swap.c2
3 files changed, 5 insertions, 9 deletions
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 557bdad..e5567e6 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -325,7 +325,7 @@ void free_pages_exact(void *virt, size_t size);
extern void __free_pages(struct page *page, unsigned int order);
extern void free_pages(unsigned long addr, unsigned int order);
-extern void free_hot_page(struct page *page);
+extern void free_hot_cold_page(struct page *page, int cold);
#define __free_page(page) __free_pages((page), 0)
#define free_page(addr) free_pages((addr),0)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index caa7df6..80bcee0 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1074,8 +1074,9 @@ void mark_free_pages(struct zone *zone)
/*
* Free a 0-order page
+ * cold == 1 ? free a cold page : free a hot page
*/
-static void free_hot_cold_page(struct page *page, int cold)
+void free_hot_cold_page(struct page *page, int cold)
{
struct zone *zone = page_zone(page);
struct per_cpu_pages *pcp;
@@ -1135,11 +1136,6 @@ out:
local_irq_restore(flags);
}
-void free_hot_page(struct page *page)
-{
- free_hot_cold_page(page, 0);
-}
-
/*
* split_page takes a non-compound higher-order page, and splits it into
* n (1<<order) sub-pages: page[0..n]
@@ -2010,7 +2006,7 @@ void __free_pages(struct page *page, unsigned int order)
{
if (put_page_testzero(page)) {
if (order == 0)
- free_hot_page(page);
+ free_hot_cold_page(page, 0);
else
__free_pages_ok(page, order);
}
diff --git a/mm/swap.c b/mm/swap.c
index 308e57d..9036b89 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -55,7 +55,7 @@ static void __page_cache_release(struct page *page)
del_page_from_lru(zone, page);
spin_unlock_irqrestore(&zone->lru_lock, flags);
}
- free_hot_page(page);
+ free_hot_cold_page(page, 0);
}
static void put_compound_page(struct page *page)
OpenPOWER on IntegriCloud