From 2961bf82f2b3c81b4ae5bb635cdbcb9c742eb802 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Wed, 20 Feb 2013 13:14:16 +1100 Subject: [PATCH] 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 --- arch/x86/mm/init_64.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) 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) -- 2.39.5