Use helper function free_highmem_page() to free highmem pages into
the buddy system.

Signed-off-by: Jiang Liu <jiang....@huawei.com>
Cc: Jeff Dike <jd...@addtoit.com>
Cc: Richard Weinberger <rich...@nod.at>
Cc: user-mode-linux-devel@lists.sourceforge.net
Cc: linux-ker...@vger.kernel.org
---
 arch/um/kernel/mem.c |   16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c
index d5ac802..9df292b 100644
--- a/arch/um/kernel/mem.c
+++ b/arch/um/kernel/mem.c
@@ -42,17 +42,12 @@ static unsigned long brk_end;
 static void setup_highmem(unsigned long highmem_start,
                          unsigned long highmem_len)
 {
-       struct page *page;
        unsigned long highmem_pfn;
        int i;
 
        highmem_pfn = __pa(highmem_start) >> PAGE_SHIFT;
-       for (i = 0; i < highmem_len >> PAGE_SHIFT; i++) {
-               page = &mem_map[highmem_pfn + i];
-               ClearPageReserved(page);
-               init_page_count(page);
-               __free_page(page);
-       }
+       for (i = 0; i < highmem_len >> PAGE_SHIFT; i++)
+               free_highmem_page(&mem_map[highmem_pfn + i]);
 }
 #endif
 
@@ -73,18 +68,13 @@ void __init mem_init(void)
        totalram_pages = free_all_bootmem();
        max_low_pfn = totalram_pages;
 #ifdef CONFIG_HIGHMEM
-       totalhigh_pages = highmem >> PAGE_SHIFT;
-       totalram_pages += totalhigh_pages;
+       setup_highmem(end_iomem, highmem);
 #endif
        num_physpages = totalram_pages;
        max_pfn = totalram_pages;
        printk(KERN_INFO "Memory: %luk available\n",
               nr_free_pages() << (PAGE_SHIFT-10));
        kmalloc_ok = 1;
-
-#ifdef CONFIG_HIGHMEM
-       setup_highmem(end_iomem, highmem);
-#endif
 }
 
 /*
-- 
1.7.9.5


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to