All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Wen Congyang <wency@cn.fujitsu.com>,
	x86@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-acpi@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-ia64@vger.kernel.org, cmetcalf@tilera.com,
	sparclinux@vger.kernel.org, David Rientjes <rientjes@google.com>,
	Jiang Liu <liuj97@gmail.com>, Len Brown <len.brown@intel.com>,
	benh@kernel.crashing.org, paulus@samba.org,
	Christoph Lameter <cl@linux.com>,
	Minchan Kim <minchan.kim@gmail.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Jianguo Wu <wujianguo@huawei.com>
Subject: Re: [PATCH v3 00/12] memory-hotplug: hot-remove physical memory
Date: Thu, 22 Nov 2012 10:33:32 +0900	[thread overview]
Message-ID: <50AD80EC.8050101@jp.fujitsu.com> (raw)
In-Reply-To: <1351763083-7905-1-git-send-email-wency@cn.fujitsu.com>

Hi Andrew,

The patch-set aims to linux-3.8. So we would like you to merge
the patch-set into your tree.

The patch-set applied many comments. Currently there is no
comment to the patch-set.

Additionally, we have spent a lot of time on the verification
of the patch-set. And we found many bugs, and fixed them.

So we believe that Linux on x86_64 can support memory hot remove
by the patch-set. 

Thanks,
Yasuaki Ishimatsu

2012/11/01 18:44, Wen Congyang wrote:
> The patch-set was divided from following thread's patch-set.
>      https://lkml.org/lkml/2012/9/5/201
> 
> The last version of this patchset:
>      https://lkml.org/lkml/2012/10/23/213
> 
> If you want to know the reason, please read following thread.
> 
> https://lkml.org/lkml/2012/10/2/83
> 
> The patch-set has only the function of kernel core side for physical
> memory hot remove. So if you use the patch, please apply following
> patches.
> 
> - bug fix for memory hot remove
>    https://lkml.org/lkml/2012/10/31/269
>    
> - acpi framework
>    https://lkml.org/lkml/2012/10/26/175
> 
> The patches can free/remove the following things:
> 
>    - /sys/firmware/memmap/X/{end, start, type} : [PATCH 2/10]
>    - mem_section and related sysfs files       : [PATCH 3-4/10]
>    - memmap of sparse-vmemmap                  : [PATCH 5-7/10]
>    - page table of removed memory              : [RFC PATCH 8/10]
>    - node and related sysfs files              : [RFC PATCH 9-10/10]
> 
> * [PATCH 2/10] checks whether the memory can be removed or not.
> 
> If you find lack of function for physical memory hot-remove, please let me
> know.
> 
> How to test this patchset?
> 1. apply this patchset and build the kernel. MEMORY_HOTPLUG, MEMORY_HOTREMOVE,
>     ACPI_HOTPLUG_MEMORY must be selected.
> 2. load the module acpi_memhotplug
> 3. hotplug the memory device(it depends on your hardware)
>     You will see the memory device under the directory /sys/bus/acpi/devices/.
>     Its name is PNP0C80:XX.
> 4. online/offline pages provided by this memory device
>     You can write online/offline to /sys/devices/system/memory/memoryX/state to
>     online/offline pages provided by this memory device
> 5. hotremove the memory device
>     You can hotremove the memory device by the hardware, or writing 1 to
>     /sys/bus/acpi/devices/PNP0C80:XX/eject.
> 
> Note: if the memory provided by the memory device is used by the kernel, it
> can't be offlined. It is not a bug.
> 
> Known problems:
> 1. hotremoving memory device may cause kernel panicked
>     This bug will be fixed by Liu Jiang's patch:
>     https://lkml.org/lkml/2012/7/3/1
> 
> 
> Changelogs from v2 to v3:
>   Patch9: call sync_global_pgds() if pgd is changed
>   Patch10: fix a problem int the patch
> 
> Changelogs from v1 to v2:
>   Patch1: new patch, offline memory twice. 1st iterate: offline every non primary
>           memory block. 2nd iterate: offline primary (i.e. first added) memory
>           block.
> 
>   Patch3: new patch, no logical change, just remove reduntant codes.
> 
>   Patch9: merge the patch from wujianguo into this patch. flush tlb on all cpu
>           after the pagetable is changed.
> 
>   Patch12: new patch, free node_data when a node is offlined
> 
> Wen Congyang (6):
>    memory-hotplug: try to offline the memory twice to avoid dependence
>    memory-hotplug: remove redundant codes
>    memory-hotplug: introduce new function arch_remove_memory() for
>      removing page table depends on architecture
>    memory-hotplug: remove page table of x86_64 architecture
>    memory-hotplug: remove sysfs file of node
>    memory-hotplug: free node_data when a node is offlined
> 
> Yasuaki Ishimatsu (6):
>    memory-hotplug: check whether all memory blocks are offlined or not
>      when removing memory
>    memory-hotplug: remove /sys/firmware/memmap/X sysfs
>    memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
>    memory-hotplug: implement register_page_bootmem_info_section of
>      sparse-vmemmap
>    memory-hotplug: remove memmap of sparse-vmemmap
>    memory-hotplug: memory_hotplug: clear zone when removing the memory
> 
>   arch/ia64/mm/discontig.c             |  14 ++
>   arch/ia64/mm/init.c                  |  18 ++
>   arch/powerpc/mm/init_64.c            |  14 ++
>   arch/powerpc/mm/mem.c                |  12 +
>   arch/s390/mm/init.c                  |  12 +
>   arch/s390/mm/vmem.c                  |  14 ++
>   arch/sh/mm/init.c                    |  17 ++
>   arch/sparc/mm/init_64.c              |  14 ++
>   arch/tile/mm/init.c                  |   8 +
>   arch/x86/include/asm/pgtable_types.h |   1 +
>   arch/x86/mm/init_32.c                |  12 +
>   arch/x86/mm/init_64.c                | 417 +++++++++++++++++++++++++++++++++++
>   arch/x86/mm/pageattr.c               |  47 ++--
>   drivers/acpi/acpi_memhotplug.c       |   8 +-
>   drivers/base/memory.c                |   6 +
>   drivers/firmware/memmap.c            |  98 +++++++-
>   include/linux/firmware-map.h         |   6 +
>   include/linux/memory_hotplug.h       |  15 +-
>   include/linux/mm.h                   |   5 +-
>   mm/memory_hotplug.c                  | 409 ++++++++++++++++++++++++++++++++--
>   mm/sparse.c                          |   5 +-
>   21 files changed, 1095 insertions(+), 57 deletions(-)
> 


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Wen Congyang <wency@cn.fujitsu.com>,
	x86@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-acpi@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-ia64@vger.kernel.org, cmetcalf@tilera.com,
	sparclinux@vger.kernel.org, David Rientjes <rientjes@google.com>,
	Jiang Liu <liuj97@gmail.com>, Len Brown <len.brown@intel.com>,
	benh@kernel.crashing.org, paulus@samba.org,
	Christoph Lameter <cl@linux.com>,
	Minchan Kim <minchan.kim@gmail.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Jianguo Wu <wujianguo@huawei.com>
Subject: Re: [PATCH v3 00/12] memory-hotplug: hot-remove physical memory
Date: Thu, 22 Nov 2012 01:33:32 +0000	[thread overview]
Message-ID: <50AD80EC.8050101@jp.fujitsu.com> (raw)
In-Reply-To: <1351763083-7905-1-git-send-email-wency@cn.fujitsu.com>

Hi Andrew,

The patch-set aims to linux-3.8. So we would like you to merge
the patch-set into your tree.

The patch-set applied many comments. Currently there is no
comment to the patch-set.

Additionally, we have spent a lot of time on the verification
of the patch-set. And we found many bugs, and fixed them.

So we believe that Linux on x86_64 can support memory hot remove
by the patch-set. 

Thanks,
Yasuaki Ishimatsu

2012/11/01 18:44, Wen Congyang wrote:
> The patch-set was divided from following thread's patch-set.
>      https://lkml.org/lkml/2012/9/5/201
> 
> The last version of this patchset:
>      https://lkml.org/lkml/2012/10/23/213
> 
> If you want to know the reason, please read following thread.
> 
> https://lkml.org/lkml/2012/10/2/83
> 
> The patch-set has only the function of kernel core side for physical
> memory hot remove. So if you use the patch, please apply following
> patches.
> 
> - bug fix for memory hot remove
>    https://lkml.org/lkml/2012/10/31/269
>    
> - acpi framework
>    https://lkml.org/lkml/2012/10/26/175
> 
> The patches can free/remove the following things:
> 
>    - /sys/firmware/memmap/X/{end, start, type} : [PATCH 2/10]
>    - mem_section and related sysfs files       : [PATCH 3-4/10]
>    - memmap of sparse-vmemmap                  : [PATCH 5-7/10]
>    - page table of removed memory              : [RFC PATCH 8/10]
>    - node and related sysfs files              : [RFC PATCH 9-10/10]
> 
> * [PATCH 2/10] checks whether the memory can be removed or not.
> 
> If you find lack of function for physical memory hot-remove, please let me
> know.
> 
> How to test this patchset?
> 1. apply this patchset and build the kernel. MEMORY_HOTPLUG, MEMORY_HOTREMOVE,
>     ACPI_HOTPLUG_MEMORY must be selected.
> 2. load the module acpi_memhotplug
> 3. hotplug the memory device(it depends on your hardware)
>     You will see the memory device under the directory /sys/bus/acpi/devices/.
>     Its name is PNP0C80:XX.
> 4. online/offline pages provided by this memory device
>     You can write online/offline to /sys/devices/system/memory/memoryX/state to
>     online/offline pages provided by this memory device
> 5. hotremove the memory device
>     You can hotremove the memory device by the hardware, or writing 1 to
>     /sys/bus/acpi/devices/PNP0C80:XX/eject.
> 
> Note: if the memory provided by the memory device is used by the kernel, it
> can't be offlined. It is not a bug.
> 
> Known problems:
> 1. hotremoving memory device may cause kernel panicked
>     This bug will be fixed by Liu Jiang's patch:
>     https://lkml.org/lkml/2012/7/3/1
> 
> 
> Changelogs from v2 to v3:
>   Patch9: call sync_global_pgds() if pgd is changed
>   Patch10: fix a problem int the patch
> 
> Changelogs from v1 to v2:
>   Patch1: new patch, offline memory twice. 1st iterate: offline every non primary
>           memory block. 2nd iterate: offline primary (i.e. first added) memory
>           block.
> 
>   Patch3: new patch, no logical change, just remove reduntant codes.
> 
>   Patch9: merge the patch from wujianguo into this patch. flush tlb on all cpu
>           after the pagetable is changed.
> 
>   Patch12: new patch, free node_data when a node is offlined
> 
> Wen Congyang (6):
>    memory-hotplug: try to offline the memory twice to avoid dependence
>    memory-hotplug: remove redundant codes
>    memory-hotplug: introduce new function arch_remove_memory() for
>      removing page table depends on architecture
>    memory-hotplug: remove page table of x86_64 architecture
>    memory-hotplug: remove sysfs file of node
>    memory-hotplug: free node_data when a node is offlined
> 
> Yasuaki Ishimatsu (6):
>    memory-hotplug: check whether all memory blocks are offlined or not
>      when removing memory
>    memory-hotplug: remove /sys/firmware/memmap/X sysfs
>    memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
>    memory-hotplug: implement register_page_bootmem_info_section of
>      sparse-vmemmap
>    memory-hotplug: remove memmap of sparse-vmemmap
>    memory-hotplug: memory_hotplug: clear zone when removing the memory
> 
>   arch/ia64/mm/discontig.c             |  14 ++
>   arch/ia64/mm/init.c                  |  18 ++
>   arch/powerpc/mm/init_64.c            |  14 ++
>   arch/powerpc/mm/mem.c                |  12 +
>   arch/s390/mm/init.c                  |  12 +
>   arch/s390/mm/vmem.c                  |  14 ++
>   arch/sh/mm/init.c                    |  17 ++
>   arch/sparc/mm/init_64.c              |  14 ++
>   arch/tile/mm/init.c                  |   8 +
>   arch/x86/include/asm/pgtable_types.h |   1 +
>   arch/x86/mm/init_32.c                |  12 +
>   arch/x86/mm/init_64.c                | 417 +++++++++++++++++++++++++++++++++++
>   arch/x86/mm/pageattr.c               |  47 ++--
>   drivers/acpi/acpi_memhotplug.c       |   8 +-
>   drivers/base/memory.c                |   6 +
>   drivers/firmware/memmap.c            |  98 +++++++-
>   include/linux/firmware-map.h         |   6 +
>   include/linux/memory_hotplug.h       |  15 +-
>   include/linux/mm.h                   |   5 +-
>   mm/memory_hotplug.c                  | 409 ++++++++++++++++++++++++++++++++--
>   mm/sparse.c                          |   5 +-
>   21 files changed, 1095 insertions(+), 57 deletions(-)
> 



WARNING: multiple messages have this Message-ID (diff)
From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
	Wen Congyang <wency@cn.fujitsu.com>,
	linux-acpi@vger.kernel.org, linux-sh@vger.kernel.org,
	Len Brown <len.brown@intel.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	cmetcalf@tilera.com, Jianguo Wu <wujianguo@huawei.com>,
	linux-mm@kvack.org, paulus@samba.org,
	Minchan Kim <minchan.kim@gmail.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	David Rientjes <rientjes@google.com>,
	sparclinux@vger.kernel.org, Christoph Lameter <cl@linux.com>,
	linuxppc-dev@lists.ozlabs.org, Jiang Liu <liuj97@gmail.com>
Subject: Re: [PATCH v3 00/12] memory-hotplug: hot-remove physical memory
Date: Thu, 22 Nov 2012 10:33:32 +0900	[thread overview]
Message-ID: <50AD80EC.8050101@jp.fujitsu.com> (raw)
In-Reply-To: <1351763083-7905-1-git-send-email-wency@cn.fujitsu.com>

Hi Andrew,

The patch-set aims to linux-3.8. So we would like you to merge
the patch-set into your tree.

The patch-set applied many comments. Currently there is no
comment to the patch-set.

Additionally, we have spent a lot of time on the verification
of the patch-set. And we found many bugs, and fixed them.

So we believe that Linux on x86_64 can support memory hot remove
by the patch-set. 

Thanks,
Yasuaki Ishimatsu

2012/11/01 18:44, Wen Congyang wrote:
> The patch-set was divided from following thread's patch-set.
>      https://lkml.org/lkml/2012/9/5/201
> 
> The last version of this patchset:
>      https://lkml.org/lkml/2012/10/23/213
> 
> If you want to know the reason, please read following thread.
> 
> https://lkml.org/lkml/2012/10/2/83
> 
> The patch-set has only the function of kernel core side for physical
> memory hot remove. So if you use the patch, please apply following
> patches.
> 
> - bug fix for memory hot remove
>    https://lkml.org/lkml/2012/10/31/269
>    
> - acpi framework
>    https://lkml.org/lkml/2012/10/26/175
> 
> The patches can free/remove the following things:
> 
>    - /sys/firmware/memmap/X/{end, start, type} : [PATCH 2/10]
>    - mem_section and related sysfs files       : [PATCH 3-4/10]
>    - memmap of sparse-vmemmap                  : [PATCH 5-7/10]
>    - page table of removed memory              : [RFC PATCH 8/10]
>    - node and related sysfs files              : [RFC PATCH 9-10/10]
> 
> * [PATCH 2/10] checks whether the memory can be removed or not.
> 
> If you find lack of function for physical memory hot-remove, please let me
> know.
> 
> How to test this patchset?
> 1. apply this patchset and build the kernel. MEMORY_HOTPLUG, MEMORY_HOTREMOVE,
>     ACPI_HOTPLUG_MEMORY must be selected.
> 2. load the module acpi_memhotplug
> 3. hotplug the memory device(it depends on your hardware)
>     You will see the memory device under the directory /sys/bus/acpi/devices/.
>     Its name is PNP0C80:XX.
> 4. online/offline pages provided by this memory device
>     You can write online/offline to /sys/devices/system/memory/memoryX/state to
>     online/offline pages provided by this memory device
> 5. hotremove the memory device
>     You can hotremove the memory device by the hardware, or writing 1 to
>     /sys/bus/acpi/devices/PNP0C80:XX/eject.
> 
> Note: if the memory provided by the memory device is used by the kernel, it
> can't be offlined. It is not a bug.
> 
> Known problems:
> 1. hotremoving memory device may cause kernel panicked
>     This bug will be fixed by Liu Jiang's patch:
>     https://lkml.org/lkml/2012/7/3/1
> 
> 
> Changelogs from v2 to v3:
>   Patch9: call sync_global_pgds() if pgd is changed
>   Patch10: fix a problem int the patch
> 
> Changelogs from v1 to v2:
>   Patch1: new patch, offline memory twice. 1st iterate: offline every non primary
>           memory block. 2nd iterate: offline primary (i.e. first added) memory
>           block.
> 
>   Patch3: new patch, no logical change, just remove reduntant codes.
> 
>   Patch9: merge the patch from wujianguo into this patch. flush tlb on all cpu
>           after the pagetable is changed.
> 
>   Patch12: new patch, free node_data when a node is offlined
> 
> Wen Congyang (6):
>    memory-hotplug: try to offline the memory twice to avoid dependence
>    memory-hotplug: remove redundant codes
>    memory-hotplug: introduce new function arch_remove_memory() for
>      removing page table depends on architecture
>    memory-hotplug: remove page table of x86_64 architecture
>    memory-hotplug: remove sysfs file of node
>    memory-hotplug: free node_data when a node is offlined
> 
> Yasuaki Ishimatsu (6):
>    memory-hotplug: check whether all memory blocks are offlined or not
>      when removing memory
>    memory-hotplug: remove /sys/firmware/memmap/X sysfs
>    memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
>    memory-hotplug: implement register_page_bootmem_info_section of
>      sparse-vmemmap
>    memory-hotplug: remove memmap of sparse-vmemmap
>    memory-hotplug: memory_hotplug: clear zone when removing the memory
> 
>   arch/ia64/mm/discontig.c             |  14 ++
>   arch/ia64/mm/init.c                  |  18 ++
>   arch/powerpc/mm/init_64.c            |  14 ++
>   arch/powerpc/mm/mem.c                |  12 +
>   arch/s390/mm/init.c                  |  12 +
>   arch/s390/mm/vmem.c                  |  14 ++
>   arch/sh/mm/init.c                    |  17 ++
>   arch/sparc/mm/init_64.c              |  14 ++
>   arch/tile/mm/init.c                  |   8 +
>   arch/x86/include/asm/pgtable_types.h |   1 +
>   arch/x86/mm/init_32.c                |  12 +
>   arch/x86/mm/init_64.c                | 417 +++++++++++++++++++++++++++++++++++
>   arch/x86/mm/pageattr.c               |  47 ++--
>   drivers/acpi/acpi_memhotplug.c       |   8 +-
>   drivers/base/memory.c                |   6 +
>   drivers/firmware/memmap.c            |  98 +++++++-
>   include/linux/firmware-map.h         |   6 +
>   include/linux/memory_hotplug.h       |  15 +-
>   include/linux/mm.h                   |   5 +-
>   mm/memory_hotplug.c                  | 409 ++++++++++++++++++++++++++++++++--
>   mm/sparse.c                          |   5 +-
>   21 files changed, 1095 insertions(+), 57 deletions(-)
> 

WARNING: multiple messages have this Message-ID (diff)
From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Wen Congyang <wency@cn.fujitsu.com>, <x86@kernel.org>,
	<linux-mm@kvack.org>, <linux-kernel@vger.kernel.org>,
	<linuxppc-dev@lists.ozlabs.org>, <linux-acpi@vger.kernel.org>,
	<linux-s390@vger.kernel.org>, <linux-sh@vger.kernel.org>,
	<linux-ia64@vger.kernel.org>, <cmetcalf@tilera.com>,
	<sparclinux@vger.kernel.org>,
	David Rientjes <rientjes@google.com>,
	Jiang Liu <liuj97@gmail.com>, Len Brown <len.brown@intel.com>,
	<benh@kernel.crashing.org>, <paulus@samba.org>,
	Christoph Lameter <cl@linux.com>,
	Minchan Kim <minchan.kim@gmail.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Jianguo Wu <wujianguo@huawei.com>
Subject: Re: [PATCH v3 00/12] memory-hotplug: hot-remove physical memory
Date: Thu, 22 Nov 2012 10:33:32 +0900	[thread overview]
Message-ID: <50AD80EC.8050101@jp.fujitsu.com> (raw)
In-Reply-To: <1351763083-7905-1-git-send-email-wency@cn.fujitsu.com>

Hi Andrew,

The patch-set aims to linux-3.8. So we would like you to merge
the patch-set into your tree.

The patch-set applied many comments. Currently there is no
comment to the patch-set.

Additionally, we have spent a lot of time on the verification
of the patch-set. And we found many bugs, and fixed them.

So we believe that Linux on x86_64 can support memory hot remove
by the patch-set. 

Thanks,
Yasuaki Ishimatsu

2012/11/01 18:44, Wen Congyang wrote:
> The patch-set was divided from following thread's patch-set.
>      https://lkml.org/lkml/2012/9/5/201
> 
> The last version of this patchset:
>      https://lkml.org/lkml/2012/10/23/213
> 
> If you want to know the reason, please read following thread.
> 
> https://lkml.org/lkml/2012/10/2/83
> 
> The patch-set has only the function of kernel core side for physical
> memory hot remove. So if you use the patch, please apply following
> patches.
> 
> - bug fix for memory hot remove
>    https://lkml.org/lkml/2012/10/31/269
>    
> - acpi framework
>    https://lkml.org/lkml/2012/10/26/175
> 
> The patches can free/remove the following things:
> 
>    - /sys/firmware/memmap/X/{end, start, type} : [PATCH 2/10]
>    - mem_section and related sysfs files       : [PATCH 3-4/10]
>    - memmap of sparse-vmemmap                  : [PATCH 5-7/10]
>    - page table of removed memory              : [RFC PATCH 8/10]
>    - node and related sysfs files              : [RFC PATCH 9-10/10]
> 
> * [PATCH 2/10] checks whether the memory can be removed or not.
> 
> If you find lack of function for physical memory hot-remove, please let me
> know.
> 
> How to test this patchset?
> 1. apply this patchset and build the kernel. MEMORY_HOTPLUG, MEMORY_HOTREMOVE,
>     ACPI_HOTPLUG_MEMORY must be selected.
> 2. load the module acpi_memhotplug
> 3. hotplug the memory device(it depends on your hardware)
>     You will see the memory device under the directory /sys/bus/acpi/devices/.
>     Its name is PNP0C80:XX.
> 4. online/offline pages provided by this memory device
>     You can write online/offline to /sys/devices/system/memory/memoryX/state to
>     online/offline pages provided by this memory device
> 5. hotremove the memory device
>     You can hotremove the memory device by the hardware, or writing 1 to
>     /sys/bus/acpi/devices/PNP0C80:XX/eject.
> 
> Note: if the memory provided by the memory device is used by the kernel, it
> can't be offlined. It is not a bug.
> 
> Known problems:
> 1. hotremoving memory device may cause kernel panicked
>     This bug will be fixed by Liu Jiang's patch:
>     https://lkml.org/lkml/2012/7/3/1
> 
> 
> Changelogs from v2 to v3:
>   Patch9: call sync_global_pgds() if pgd is changed
>   Patch10: fix a problem int the patch
> 
> Changelogs from v1 to v2:
>   Patch1: new patch, offline memory twice. 1st iterate: offline every non primary
>           memory block. 2nd iterate: offline primary (i.e. first added) memory
>           block.
> 
>   Patch3: new patch, no logical change, just remove reduntant codes.
> 
>   Patch9: merge the patch from wujianguo into this patch. flush tlb on all cpu
>           after the pagetable is changed.
> 
>   Patch12: new patch, free node_data when a node is offlined
> 
> Wen Congyang (6):
>    memory-hotplug: try to offline the memory twice to avoid dependence
>    memory-hotplug: remove redundant codes
>    memory-hotplug: introduce new function arch_remove_memory() for
>      removing page table depends on architecture
>    memory-hotplug: remove page table of x86_64 architecture
>    memory-hotplug: remove sysfs file of node
>    memory-hotplug: free node_data when a node is offlined
> 
> Yasuaki Ishimatsu (6):
>    memory-hotplug: check whether all memory blocks are offlined or not
>      when removing memory
>    memory-hotplug: remove /sys/firmware/memmap/X sysfs
>    memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
>    memory-hotplug: implement register_page_bootmem_info_section of
>      sparse-vmemmap
>    memory-hotplug: remove memmap of sparse-vmemmap
>    memory-hotplug: memory_hotplug: clear zone when removing the memory
> 
>   arch/ia64/mm/discontig.c             |  14 ++
>   arch/ia64/mm/init.c                  |  18 ++
>   arch/powerpc/mm/init_64.c            |  14 ++
>   arch/powerpc/mm/mem.c                |  12 +
>   arch/s390/mm/init.c                  |  12 +
>   arch/s390/mm/vmem.c                  |  14 ++
>   arch/sh/mm/init.c                    |  17 ++
>   arch/sparc/mm/init_64.c              |  14 ++
>   arch/tile/mm/init.c                  |   8 +
>   arch/x86/include/asm/pgtable_types.h |   1 +
>   arch/x86/mm/init_32.c                |  12 +
>   arch/x86/mm/init_64.c                | 417 +++++++++++++++++++++++++++++++++++
>   arch/x86/mm/pageattr.c               |  47 ++--
>   drivers/acpi/acpi_memhotplug.c       |   8 +-
>   drivers/base/memory.c                |   6 +
>   drivers/firmware/memmap.c            |  98 +++++++-
>   include/linux/firmware-map.h         |   6 +
>   include/linux/memory_hotplug.h       |  15 +-
>   include/linux/mm.h                   |   5 +-
>   mm/memory_hotplug.c                  | 409 ++++++++++++++++++++++++++++++++--
>   mm/sparse.c                          |   5 +-
>   21 files changed, 1095 insertions(+), 57 deletions(-)
> 



  parent reply	other threads:[~2012-11-22  1:33 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-01  9:44 [PATCH v3 00/12] memory-hotplug: hot-remove physical memory Wen Congyang
2012-11-01  9:44 ` Wen Congyang
2012-11-01  9:44 ` Wen Congyang
2012-11-01  9:44 ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 01/12] memory-hotplug: try to offline the memory twice to avoid dependence Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 02/12] memory-hotplug: check whether all memory blocks are offlined or not when removing memory Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` [PATCH v3 02/12] memory-hotplug: check whether all memory blocks are offlined or not when removing m Wen Congyang
2012-11-01  9:44 ` [PATCH v3 03/12] memory-hotplug: remove redundant codes Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 04/12] memory-hotplug: remove /sys/firmware/memmap/X sysfs Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 05/12] memory-hotplug: introduce new function arch_remove_memory() for removing page table depends on architecture Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` [PATCH v3 05/12] memory-hotplug: introduce new function arch_remove_memory() for removing page table Wen Congyang
2012-11-01  9:44 ` [PATCH v3 06/12] memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-20  6:22   ` Jaegeuk Hanse
2012-11-20  6:22     ` Jaegeuk Hanse
2012-11-20  6:22     ` Jaegeuk Hanse
2012-11-20  6:22     ` Jaegeuk Hanse
2012-11-20  6:22     ` Jaegeuk Hanse
2012-11-20  6:55     ` Wen Congyang
2012-11-20  6:55       ` Wen Congyang
2012-11-20  6:55       ` Wen Congyang
2012-11-20  6:55       ` Wen Congyang
2012-11-20  6:58       ` Jaegeuk Hanse
2012-11-20  6:58         ` Jaegeuk Hanse
2012-11-20  6:58         ` Jaegeuk Hanse
2012-11-20  6:58         ` Jaegeuk Hanse
2012-11-20  9:37         ` Wen Congyang
2012-11-20  9:37           ` Wen Congyang
2012-11-20  9:37           ` Wen Congyang
2012-11-20  9:37           ` Wen Congyang
2012-11-20 11:03           ` Jaegeuk Hanse
2012-11-20 11:03             ` Jaegeuk Hanse
2012-11-20 11:03             ` Jaegeuk Hanse
2012-11-20 11:03             ` Jaegeuk Hanse
2012-11-20 11:16   ` Jaegeuk Hanse
2012-11-20 11:16     ` Jaegeuk Hanse
2012-11-20 11:16     ` Jaegeuk Hanse
2012-11-20 11:16     ` Jaegeuk Hanse
2012-11-20 11:16     ` Jaegeuk Hanse
2012-11-21  2:59     ` Wen Congyang
2012-11-21  3:05       ` Wen Congyang
2012-11-21  3:05       ` Wen Congyang
2012-11-21  3:05       ` Wen Congyang
2012-11-21  2:59       ` Wen Congyang
2012-11-21  2:59       ` Wen Congyang
2012-11-21  4:22       ` Jaegeuk Hanse
2012-11-21  4:22         ` Jaegeuk Hanse
2012-11-21  4:22         ` Jaegeuk Hanse
2012-11-21  4:22         ` Jaegeuk Hanse
2012-11-21  4:42         ` Wen Congyang
2012-11-21  4:42           ` Wen Congyang
2012-11-21  4:42           ` Wen Congyang
2012-11-21  4:42           ` Wen Congyang
2012-11-21  5:03           ` Jaegeuk Hanse
2012-11-21  5:03             ` Jaegeuk Hanse
2012-11-21  5:03             ` Jaegeuk Hanse
2012-11-21  5:03             ` Jaegeuk Hanse
2012-11-21  5:12             ` Wen Congyang
2012-11-21  5:12               ` Wen Congyang
2012-11-21  5:12               ` Wen Congyang
2012-11-21  5:12               ` Wen Congyang
2012-11-21  5:28             ` Wen Congyang
2012-11-21  5:28               ` Wen Congyang
2012-11-21  5:28               ` Wen Congyang
2012-11-21  5:28               ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 07/12] memory-hotplug: implement register_page_bootmem_info_section of sparse-vmemmap Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 08/12] memory-hotplug: remove memmap " Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-27  5:47   ` Jianguo Wu
2012-11-27  5:47     ` Jianguo Wu
2012-11-27  5:47     ` Jianguo Wu
2012-11-27  5:47     ` Jianguo Wu
2012-11-27  6:39     ` Wen Congyang
2012-11-27  6:39       ` Wen Congyang
2012-11-27  6:39       ` Wen Congyang
2012-11-27  6:39       ` Wen Congyang
2012-11-27  6:49     ` Wen Congyang
2012-11-27  6:49       ` Wen Congyang
2012-11-27  6:49       ` Wen Congyang
2012-11-27  6:49       ` Wen Congyang
2012-11-27  7:14       ` Jianguo Wu
2012-11-27  7:14         ` Jianguo Wu
2012-11-27  7:14         ` Jianguo Wu
2012-11-27  7:14         ` Jianguo Wu
2012-11-27  7:14         ` Jianguo Wu
2012-11-01  9:44 ` [PATCH v3 09/12] memory-hotplug: remove page table of x86_64 architecture Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 10/12] memory-hotplug: memory_hotplug: clear zone when removing the memory Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 11/12] memory-hotplug: remove sysfs file of node Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-19 10:08   ` Yasuaki Ishimatsu
2012-11-19 10:08     ` Yasuaki Ishimatsu
2012-11-19 10:08     ` Yasuaki Ishimatsu
2012-11-19 10:08     ` Yasuaki Ishimatsu
2012-11-19 10:08     ` Yasuaki Ishimatsu
2012-11-20  9:35     ` Wen Congyang
2012-11-20  9:35       ` Wen Congyang
2012-11-20  9:35       ` Wen Congyang
2012-11-20  9:35       ` Wen Congyang
2012-11-26 14:27   ` Jianguo Wu
2012-11-26 14:27     ` Jianguo Wu
2012-11-26 14:27     ` Jianguo Wu
2012-11-26 14:27     ` Jianguo Wu
2012-11-27  2:24     ` Wen Congyang
2012-11-27  2:24       ` Wen Congyang
2012-11-27  2:24       ` Wen Congyang
2012-11-27  2:24       ` Wen Congyang
2012-11-01  9:44 ` [PATCH v3 12/12] memory-hotplug: free node_data when a node is offlined Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-01  9:44   ` Wen Congyang
2012-11-16 11:55 ` [PATCH v3 00/12] memory-hotplug: hot-remove physical memory Wen Congyang
2012-11-16 11:55   ` Wen Congyang
2012-11-16 11:55   ` Wen Congyang
2012-11-16 11:55   ` Wen Congyang
2012-11-22  1:33 ` Yasuaki Ishimatsu [this message]
2012-11-22  1:33   ` Yasuaki Ishimatsu
2012-11-22  1:33   ` Yasuaki Ishimatsu
2012-11-22  1:33   ` Yasuaki Ishimatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50AD80EC.8050101@jp.fujitsu.com \
    --to=isimatu.yasuaki@jp.fujitsu.com \
    --cc=akpm@linux-foundation.org \
    --cc=benh@kernel.crashing.org \
    --cc=cl@linux.com \
    --cc=cmetcalf@tilera.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=len.brown@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=liuj97@gmail.com \
    --cc=minchan.kim@gmail.com \
    --cc=paulus@samba.org \
    --cc=rientjes@google.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=wency@cn.fujitsu.com \
    --cc=wujianguo@huawei.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.