From: Andrew Morton Date: Wed, 20 Feb 2013 02:14:16 +0000 (+1100) Subject: memory-hotplug-common-apis-to-support-page-tables-hot-remove-fix-fix-fix-fix-fix-fix X-Git-Tag: next-20130220~1^2~536 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2961bf82f2b3c81b4ae5bb635cdbcb9c742eb802;p=karo-tx-linux.git memory-hotplug-common-apis-to-support-page-tables-hot-remove-fix-fix-fix-fix-fix-fix Cc: Jiang Liu Cc: Jianguo Wu Cc: Kamezawa Hiroyuki Cc: Lai Jiangshan Cc: Tang Chen Cc: Wen Congyang Cc: Yasuaki Ishimatsu Cc: Yinghai Lu Signed-off-by: Andrew Morton --- diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index b9b2a3191885..6bcca6563c28 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -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)