lkml.org 
[lkml]   [2012]   [Dec]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 09/14] memory-hotplug: remove page table of x86_64 architecture
    Date
    This patch searches a page table about the removed memory, and clear
    page table for x86_64 architecture.

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: Jianguo Wu <wujianguo@huawei.com>
    Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
    Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
    ---
    arch/x86/mm/init_64.c | 10 ++++++++++
    1 files changed, 10 insertions(+), 0 deletions(-)

    diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
    index b30df3c..4b160d8 100644
    --- a/arch/x86/mm/init_64.c
    +++ b/arch/x86/mm/init_64.c
    @@ -979,6 +979,15 @@ remove_pagetable(unsigned long start, unsigned long end, bool direct)
    flush_tlb_all();
    }

    +void __meminit
    +kernel_physical_mapping_remove(unsigned long start, unsigned long end)
    +{
    + start = (unsigned long)__va(start);
    + end = (unsigned long)__va(end);
    +
    + remove_pagetable(start, end, true);
    +}
    +
    #ifdef CONFIG_MEMORY_HOTREMOVE
    int __ref arch_remove_memory(u64 start, u64 size)
    {
    @@ -988,6 +997,7 @@ int __ref arch_remove_memory(u64 start, u64 size)
    int ret;

    zone = page_zone(pfn_to_page(start_pfn));
    + kernel_physical_mapping_remove(start, start + size);
    ret = __remove_pages(zone, start_pfn, nr_pages);
    WARN_ON_ONCE(ret);

    --
    1.7.1


    \
     
     \ /
      Last update: 2012-12-24 14:41    [W:4.132 / U:0.424 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site