]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
memory-hotplug-common-apis-to-support-page-tables-hot-remove-fix-fix-fix-fix-fix-fix
authorAndrew Morton <akpm@linux-foundation.org>
Wed, 20 Feb 2013 02:14:16 +0000 (13:14 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 20 Feb 2013 05:52:31 +0000 (16:52 +1100)
Cc: Jiang Liu <jiang.liu@huawei.com>
Cc: Jianguo Wu <wujianguo@huawei.com>
Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Tang Chen <tangchen@cn.fujitsu.com>
Cc: Wen Congyang <wency@cn.fujitsu.com>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/x86/mm/init_64.c

index b9b2a31918859077cba935f69340d40cc25071d7..6bcca6563c282e39e60b683b54345427fb222ff9 100644 (file)
@@ -918,10 +918,9 @@ remove_pmd_table(pmd_t *pmd_start, unsigned long addr, unsigned long end,
                        continue;
                }
 
-               pte_base = (pte_t *)map_low_page((pte_t *)pmd_page_vaddr(*pmd));
+               pte_base = (pte_t *)pmd_page_vaddr(*pmd);
                remove_pte_table(pte_base, addr, next, direct);
                free_pte_table(pte_base, pmd);
-               unmap_low_page(pte_base);
        }
 
        /* Call free_pmd_table() in remove_pud_table(). */
@@ -975,10 +974,9 @@ remove_pud_table(pud_t *pud_start, unsigned long addr, unsigned long end,
                        continue;
                }
 
-               pmd_base = (pmd_t *)map_low_page((pmd_t *)pud_page_vaddr(*pud));
+               pmd_base = (pmd_t *)pud_page_vaddr(*pud);
                remove_pmd_table(pmd_base, addr, next, direct);
                free_pmd_table(pmd_base, pud);
-               unmap_low_page(pmd_base);
        }
 
        if (direct)
@@ -1001,11 +999,10 @@ remove_pagetable(unsigned long start, unsigned long end, bool direct)
 
                next = pgd_addr_end(start, end);
 
-               pud = (pud_t *)map_low_page((pud_t *)pgd_page_vaddr(*pgd));
+               pud = (pud_t *)pgd_page_vaddr(*pgd);
                remove_pud_table(pud, start, next, direct);
                if (free_pud_table(pud, pgd))
                        pgd_changed = true;
-               unmap_low_page(pud);
        }
 
        if (pgd_changed)