[PATCH v2, part1 21/29] mm/SH: use common help functions to free reserved pages

2013-03-09 Thread Jiang Liu
Use common help functions to free reserved pages.

Signed-off-by: Jiang Liu 
Acked-by: Paul Mundt 
---
 arch/sh/mm/init.c |   26 +++---
 1 file changed, 3 insertions(+), 23 deletions(-)

diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index 1057940..20f9ead 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -417,15 +417,13 @@ void __init mem_init(void)
 
for_each_online_node(nid) {
pg_data_t *pgdat = NODE_DATA(nid);
-   unsigned long node_pages = 0;
void *node_high_memory;
 
num_physpages += pgdat->node_present_pages;
 
if (pgdat->node_spanned_pages)
-   node_pages = free_all_bootmem_node(pgdat);
+   totalram_pages += free_all_bootmem_node(pgdat);
 
-   totalram_pages += node_pages;
 
node_high_memory = (void *)__va((pgdat->node_start_pfn +
 pgdat->node_spanned_pages) <<
@@ -501,31 +499,13 @@ void __init mem_init(void)
 
 void free_initmem(void)
 {
-   unsigned long addr;
-
-   addr = (unsigned long)(&__init_begin);
-   for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) {
-   ClearPageReserved(virt_to_page(addr));
-   init_page_count(virt_to_page(addr));
-   free_page(addr);
-   totalram_pages++;
-   }
-   printk("Freeing unused kernel memory: %ldk freed\n",
-  ((unsigned long)&__init_end -
-   (unsigned long)&__init_begin) >> 10);
+   free_initmem_default(0);
 }
 
 #ifdef CONFIG_BLK_DEV_INITRD
 void free_initrd_mem(unsigned long start, unsigned long end)
 {
-   unsigned long p;
-   for (p = start; p < end; p += PAGE_SIZE) {
-   ClearPageReserved(virt_to_page(p));
-   init_page_count(virt_to_page(p));
-   free_page(p);
-   totalram_pages++;
-   }
-   printk("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
+   free_reserved_area(start, end, 0, "initrd");
 }
 #endif
 
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2, part1 21/29] mm/SH: use common help functions to free reserved pages

2013-03-09 Thread Jiang Liu
Use common help functions to free reserved pages.

Signed-off-by: Jiang Liu jiang@huawei.com
Acked-by: Paul Mundt let...@linux-sh.org
---
 arch/sh/mm/init.c |   26 +++---
 1 file changed, 3 insertions(+), 23 deletions(-)

diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index 1057940..20f9ead 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -417,15 +417,13 @@ void __init mem_init(void)
 
for_each_online_node(nid) {
pg_data_t *pgdat = NODE_DATA(nid);
-   unsigned long node_pages = 0;
void *node_high_memory;
 
num_physpages += pgdat-node_present_pages;
 
if (pgdat-node_spanned_pages)
-   node_pages = free_all_bootmem_node(pgdat);
+   totalram_pages += free_all_bootmem_node(pgdat);
 
-   totalram_pages += node_pages;
 
node_high_memory = (void *)__va((pgdat-node_start_pfn +
 pgdat-node_spanned_pages) 
@@ -501,31 +499,13 @@ void __init mem_init(void)
 
 void free_initmem(void)
 {
-   unsigned long addr;
-
-   addr = (unsigned long)(__init_begin);
-   for (; addr  (unsigned long)(__init_end); addr += PAGE_SIZE) {
-   ClearPageReserved(virt_to_page(addr));
-   init_page_count(virt_to_page(addr));
-   free_page(addr);
-   totalram_pages++;
-   }
-   printk(Freeing unused kernel memory: %ldk freed\n,
-  ((unsigned long)__init_end -
-   (unsigned long)__init_begin)  10);
+   free_initmem_default(0);
 }
 
 #ifdef CONFIG_BLK_DEV_INITRD
 void free_initrd_mem(unsigned long start, unsigned long end)
 {
-   unsigned long p;
-   for (p = start; p  end; p += PAGE_SIZE) {
-   ClearPageReserved(virt_to_page(p));
-   init_page_count(virt_to_page(p));
-   free_page(p);
-   totalram_pages++;
-   }
-   printk(Freeing initrd memory: %ldk freed\n, (end - start)  10);
+   free_reserved_area(start, end, 0, initrd);
 }
 #endif
 
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/