Re: [PATCH v3] mm: thp: Set the accessed flag for old pages on access fault.

2012-10-26 Thread Ni zhan Chen
On 10/26/2012 05:34 PM, Will Deacon wrote: On Fri, Oct 26, 2012 at 07:19:55AM +0100, Ni zhan Chen wrote: On 10/26/2012 12:44 AM, Will Deacon wrote: On x86 memory accesses to pages without the ACCESSED flag set result in the ACCESSED flag being set automatically. With the ARM architecture a

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-26 Thread Ni zhan Chen
On 10/26/2012 04:02 PM, Fengguang Wu wrote: On Fri, Oct 26, 2012 at 03:47:19PM +0800, Ni zhan Chen wrote: On 10/26/2012 03:36 PM, Fengguang Wu wrote: On Fri, Oct 26, 2012 at 03:19:57PM +0800, Ni zhan Chen wrote: On 10/26/2012 03:09 PM, Fengguang Wu wrote: On Fri, Oct 26, 2012 at 03:03:12PM

Re: MMTests 0.06

2012-10-26 Thread Ni zhan Chen
On 10/12/2012 10:51 PM, Mel Gorman wrote: MMTests 0.06 is a configurable test suite that runs a number of common workloads of interest to MM developers. There are multiple additions all but in many respects the most useful will be automatic package installation. The package names are based on ope

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-26 Thread Ni zhan Chen
On 10/26/2012 03:36 PM, Fengguang Wu wrote: On Fri, Oct 26, 2012 at 03:19:57PM +0800, Ni zhan Chen wrote: On 10/26/2012 03:09 PM, Fengguang Wu wrote: On Fri, Oct 26, 2012 at 03:03:12PM +0800, Ni zhan Chen wrote: On 10/26/2012 02:58 PM, Fengguang Wu wrote: static void

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-26 Thread Ni zhan Chen
On 10/26/2012 03:09 PM, Fengguang Wu wrote: On Fri, Oct 26, 2012 at 03:03:12PM +0800, Ni zhan Chen wrote: On 10/26/2012 02:58 PM, Fengguang Wu wrote: static void shrink_readahead_size_eio(struct file *filp, struct file_ra_state *ra) { - ra

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-26 Thread Ni zhan Chen
On 10/26/2012 02:58 PM, Fengguang Wu wrote: static void shrink_readahead_size_eio(struct file *filp, struct file_ra_state *ra) { - ra->ra_pages /= 4; + spin_lock(&filp->f_lock); + filp->f_mode |= FMODE_RANDOM; + spin_unlock(&fil

Re: [PATCH v3] mm: thp: Set the accessed flag for old pages on access fault.

2012-10-25 Thread Ni zhan Chen
On 10/26/2012 12:44 AM, Will Deacon wrote: On x86 memory accesses to pages without the ACCESSED flag set result in the ACCESSED flag being set automatically. With the ARM architecture a page access fault is raised instead (and it will continue to be raised until the ACCESSED flag is set for the a

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-25 Thread Ni zhan Chen
On 10/26/2012 11:28 AM, YingHang Zhu wrote: On Fri, Oct 26, 2012 at 10:30 AM, Ni zhan Chen wrote: On 10/26/2012 09:27 AM, Fengguang Wu wrote: On Fri, Oct 26, 2012 at 11:25:44AM +1100, Dave Chinner wrote: On Thu, Oct 25, 2012 at 10:58:26AM +0800, Fengguang Wu wrote: Hi Chen, But how can

Re: [PATCH v3] mm: thp: Set the accessed flag for old pages on access fault.

2012-10-25 Thread Ni zhan Chen
On 10/26/2012 03:51 AM, Johannes Weiner wrote: On Thu, Oct 25, 2012 at 05:44:31PM +0100, Will Deacon wrote: On x86 memory accesses to pages without the ACCESSED flag set result in the ACCESSED flag being set automatically. With the ARM architecture a page access fault is raised instead (and it w

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-25 Thread Ni zhan Chen
On 10/26/2012 09:27 AM, Fengguang Wu wrote: On Fri, Oct 26, 2012 at 11:25:44AM +1100, Dave Chinner wrote: On Thu, Oct 25, 2012 at 10:58:26AM +0800, Fengguang Wu wrote: Hi Chen, But how can bdi related ra_pages reflect different files' readahead window? Maybe these different files are sequenti

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-25 Thread Ni zhan Chen
On 10/26/2012 08:25 AM, Dave Chinner wrote: On Thu, Oct 25, 2012 at 10:58:26AM +0800, Fengguang Wu wrote: Hi Chen, But how can bdi related ra_pages reflect different files' readahead window? Maybe these different files are sequential read, random read and so on. It's simple: sequential reads

Re: shmem_getpage_gfp VM_BUG_ON triggered. [3.7rc2]

2012-10-25 Thread Ni zhan Chen
On 10/26/2012 05:48 AM, Hugh Dickins wrote: On Thu, 25 Oct 2012, Johannes Weiner wrote: On Wed, Oct 24, 2012 at 09:36:27PM -0700, Hugh Dickins wrote: On Wed, 24 Oct 2012, Dave Jones wrote: Machine under significant load (4gb memory used, swap usage fluctuating) triggered this... WARNING: at

Re: shmem_getpage_gfp VM_BUG_ON triggered. [3.7rc2]

2012-10-25 Thread Ni zhan Chen
On 10/26/2012 05:27 AM, Hugh Dickins wrote: On Thu, 25 Oct 2012, Ni zhan Chen wrote: On 10/25/2012 02:59 PM, Hugh Dickins wrote: On Thu, 25 Oct 2012, Ni zhan Chen wrote: I think it maybe caused by your commit [d189922862e03ce: shmem: fix negative rss in memcg memory.stat], one question: Well

Re: shmem_getpage_gfp VM_BUG_ON triggered. [3.7rc2]

2012-10-25 Thread Ni zhan Chen
On 10/25/2012 02:59 PM, Hugh Dickins wrote: On Thu, 25 Oct 2012, Ni zhan Chen wrote: On 10/25/2012 12:36 PM, Hugh Dickins wrote: On Wed, 24 Oct 2012, Dave Jones wrote: Machine under significant load (4gb memory used, swap usage fluctuating) triggered this... WARNING: at mm/shmem.c:1151

Re: shmem_getpage_gfp VM_BUG_ON triggered. [3.7rc2]

2012-10-24 Thread Ni zhan Chen
On 10/25/2012 12:36 PM, Hugh Dickins wrote: On Wed, 24 Oct 2012, Dave Jones wrote: Machine under significant load (4gb memory used, swap usage fluctuating) triggered this... WARNING: at mm/shmem.c:1151 shmem_getpage_gfp+0xa5c/0xa70() Pid: 29795, comm: trinity-child4 Not tainted 3.7.0-rc2+ #49

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-24 Thread Ni zhan Chen
On 10/25/2012 10:04 AM, YingHang Zhu wrote: On Thu, Oct 25, 2012 at 9:50 AM, Dave Chinner wrote: On Thu, Oct 25, 2012 at 08:17:05AM +0800, YingHang Zhu wrote: On Thu, Oct 25, 2012 at 4:19 AM, Dave Chinner wrote: On Wed, Oct 24, 2012 at 07:53:59AM +0800, YingHang Zhu wrote: Hi Dave, On Wed,

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-24 Thread Ni zhan Chen
On 10/25/2012 08:17 AM, YingHang Zhu wrote: On Thu, Oct 25, 2012 at 4:19 AM, Dave Chinner wrote: On Wed, Oct 24, 2012 at 07:53:59AM +0800, YingHang Zhu wrote: Hi Dave, On Wed, Oct 24, 2012 at 6:47 AM, Dave Chinner wrote: On Tue, Oct 23, 2012 at 08:46:51PM +0800, Ying Zhu wrote: Hi, Recen

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-23 Thread Ni zhan Chen
On 10/23/2012 09:41 PM, YingHang Zhu wrote: Sorry for the annoying, I forgot ccs in the previous mail. Thanks, Ying Zhu Hi Chen, On Tue, Oct 23, 2012 at 9:21 PM, Ni zhan Chen wrote: On 10/23/2012 08:46 PM, Ying Zhu wrote: Hi, Recently we ran into the bug that an opened file&#

Re: [PATCH] mm: readahead: remove redundant ra_pages in file_ra_state

2012-10-23 Thread Ni zhan Chen
On 10/23/2012 08:46 PM, Ying Zhu wrote: Hi, Recently we ran into the bug that an opened file's ra_pages does not synchronize with it's backing device's when the latter is changed with blockdev --setra, the application needs to reopen the file to know the change, which is inappropriate under ou

Re: [PATCH v2 00/12] memory-hotplug: hot-remove physical memory

2012-10-23 Thread Ni zhan Chen
On 10/23/2012 06:30 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang The patchset doesn't support kernel memory hot-remove, correct? If the answer is yes, you should point out in your patchset changelog. The patch-set was divided from following thread's patch-set. https://lkml.org/lkml

Re: question on NUMA page migration

2012-10-20 Thread Ni zhan Chen
On 10/19/2012 11:53 PM, Rik van Riel wrote: Hi Andrea, Peter, I have a question on page refcounting in your NUMA page migration code. In Peter's case, I wonder why you introduce a new MIGRATE_FAULT migration mode. If the normal page migration / compaction logic can do without taking an extra re

Re: [PATCH v2 0/5] bugfix for memory hotplug

2012-10-17 Thread Ni zhan Chen
On 10/17/2012 08:08 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang Wen Congyang (5): memory-hotplug: skip HWPoisoned page when offlining pages memory-hotplug: update mce_bad_pages when removing the memory memory-hotplug: auto offline page_cgroup when onlining memory block fail

Re: [PATCH v3 00/10] Introduce huge zero page

2012-10-16 Thread Ni zhan Chen
On 10/03/2012 08:04 AM, Kirill A. Shutemov wrote: On Tue, Oct 02, 2012 at 03:31:48PM -0700, Andrew Morton wrote: On Tue, 2 Oct 2012 18:19:22 +0300 "Kirill A. Shutemov" wrote: During testing I noticed big (up to 2.5 times) memory consumption overhead on some workloads (e.g. ft.A from NPB) if

Re: [PATCH v4 00/10, REBASED] Introduce huge zero page

2012-10-16 Thread Ni zhan Chen
On 10/16/2012 07:28 PM, Kirill A. Shutemov wrote: On Tue, Oct 16, 2012 at 07:13:07PM +0800, Ni zhan Chen wrote: On 10/16/2012 06:54 PM, Kirill A. Shutemov wrote: On Tue, Oct 16, 2012 at 05:53:07PM +0800, Ni zhan Chen wrote: By hpa request I've tried alternative approach for hzp implement

Re: [PATCH v4 00/10, REBASED] Introduce huge zero page

2012-10-16 Thread Ni zhan Chen
On 10/16/2012 06:54 PM, Kirill A. Shutemov wrote: On Tue, Oct 16, 2012 at 05:53:07PM +0800, Ni zhan Chen wrote: By hpa request I've tried alternative approach for hzp implementation (see Virtual huge zero page patchset): pmd table with all entries set to zero page. This way should be more

Re: [PATCH] oom, memcg: handle sysctl oom_kill_allocating_task while memcg oom happening

2012-10-16 Thread Ni zhan Chen
On 10/16/2012 06:12 PM, Sha Zhengju wrote: From: Sha Zhengju Sysctl oom_kill_allocating_task enables or disables killing the OOM-triggering task in out-of-memory situations, but it only works on overall system-wide oom. But it's also a useful indication in memcg so we take it into consideration

Re: [PATCH v4 00/10, REBASED] Introduce huge zero page

2012-10-16 Thread Ni zhan Chen
On 10/15/2012 02:00 PM, Kirill A. Shutemov wrote: From: "Kirill A. Shutemov" Hi, Andrew, here's huge zero page patchset rebased to v3.7-rc1. Andrea, I've dropped your Reviewed-by due not-so-trivial conflicts in during rebase. Could you look through it again. Patches 2, 3, 4, 7, 10 had conflic

Re: [PATCH] mm: thp: Set the accessed flag for old pages on access fault.

2012-10-16 Thread Ni zhan Chen
On 10/01/2012 10:59 PM, Andrea Arcangeli wrote: Hi Will, On Mon, Oct 01, 2012 at 02:51:45PM +0100, Will Deacon wrote: +void huge_pmd_set_accessed(struct mm_struct *mm, struct vm_area_struct *vma, + unsigned long address, pmd_t *pmd, pmd_t orig_pmd) +{ + pmd_t entr

Re: [PATCH v3 07/10] thp: implement splitting pmd for huge zero page

2012-10-11 Thread Ni zhan Chen
On 10/12/2012 12:13 PM, Kirill A. Shutemov wrote: On Fri, Oct 12, 2012 at 11:23:37AM +0800, Ni zhan Chen wrote: On 10/02/2012 11:19 PM, Kirill A. Shutemov wrote: From: "Kirill A. Shutemov" We can't split huge zero page itself, but we can split the pmd which points to it. O

Re: [PATCH v3 07/10] thp: implement splitting pmd for huge zero page

2012-10-11 Thread Ni zhan Chen
On 10/02/2012 11:19 PM, Kirill A. Shutemov wrote: From: "Kirill A. Shutemov" We can't split huge zero page itself, but we can split the pmd which points to it. On splitting the pmd we create a table with all ptes set to normal zero page. Signed-off-by: Kirill A. Shutemov Reviewed-by: Andrea

Re: [PATCH 8/10] memory-hotplug : remove page table of x86_64 architecture

2012-10-10 Thread Ni zhan Chen
On 10/08/2012 01:23 PM, Wen Congyang wrote: At 10/08/2012 12:37 PM, Andi Kleen Wrote: Yasuaki Ishimatsu writes: + } + + /* +* We use 2M page, but we need to remove part of them, +* so split 2M page to 4

Re: [PATCH] mm: memmap_init_zone() performance improvement

2012-10-08 Thread Ni zhan Chen
On 10/08/2012 11:16 PM, Mel Gorman wrote: On Wed, Oct 03, 2012 at 08:56:14AM -0600, Mike Yoknis wrote: memmap_init_zone() loops through every Page Frame Number (pfn), including pfn values that are within the gaps between existing memory sections. The unneeded looping will become a boot performa

Re: [PATCH] mm: memmap_init_zone() performance improvement

2012-10-06 Thread Ni zhan Chen
On 10/03/2012 10:56 PM, Mike Yoknis wrote: memmap_init_zone() loops through every Page Frame Number (pfn), including pfn values that are within the gaps between existing memory sections. The unneeded looping will become a boot performance issue when machines configure larger memory ranges that w

Re: [PATCH 0/4] acpi,memory-hotplug : implement framework for hot removing memory

2012-10-06 Thread Ni zhan Chen
On 10/03/2012 05:52 PM, Yasuaki Ishimatsu wrote: > We are trying to implement a physical memory hot removing function as > following thread. > > https://lkml.org/lkml/2012/9/5/201 > > But there is not enough review to merge into linux kernel. > > I think there are following blockades. > 1. no phy

Re: [RFC v9 PATCH 16/21] memory-hotplug: free memmap of sparse-vmemmap

2012-10-06 Thread Ni zhan Chen
On 10/04/2012 02:26 PM, Yasuaki Ishimatsu wrote: Hi Chen, Sorry for late reply. 2012/10/02 13:21, Ni zhan Chen wrote: On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Yasuaki Ishimatsu All pages of virtual mapping in removed memory cannot be freed, since some pages used as PGD

Re: [PATCH] CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug

2012-10-03 Thread Ni zhan Chen
On 09/28/2012 08:27 PM, Fengguang Wu wrote: On Tue, Sep 25, 2012 at 02:18:20AM +0530, Srivatsa S. Bhat wrote: From: Srivatsa S. Bhat The CPU hotplug callback related to writeback calls writeback_set_ratelimit() during every state change in the hotplug sequence. This is unnecessary since num_on

Re: [PATCH 0/2] memory-hotplug : notification of memoty block's state

2012-10-02 Thread Ni zhan Chen
On 10/03/2012 09:21 AM, Yasuaki Ishimatsu wrote: Hi Andrew, 2012/10/03 6:42, Andrew Morton wrote: On Tue, 2 Oct 2012 17:25:06 +0900 Yasuaki Ishimatsu wrote: remove_memory() offlines memory. And it is called by following two cases: 1. echo offline >/sys/devices/system/memory/memoryXX/state

Re: [RFC v9 PATCH 13/21] memory-hotplug: check page type in get_page_bootmem

2012-10-02 Thread Ni zhan Chen
On 10/01/2012 11:03 AM, Yasuaki Ishimatsu wrote: Hi Chen, 2012/09/29 11:15, Ni zhan Chen wrote: On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Yasuaki Ishimatsu The function get_page_bootmem() may be called more than one time to the same page. There is no need to set page's

Re: [PATCH 0/2] memory-hotplug : notification of memoty block's state

2012-10-02 Thread Ni zhan Chen
On 10/02/2012 04:25 PM, Yasuaki Ishimatsu wrote: > We are trying to implement a physical memory hot removing function as > following thread. > > https://lkml.org/lkml/2012/9/5/201 > > But there is not enough review to merge into linux kernel. > > I think there are following blockades. > 1. no phy

Re: [RFC v9 PATCH 16/21] memory-hotplug: free memmap of sparse-vmemmap

2012-10-01 Thread Ni zhan Chen
On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Yasuaki Ishimatsu All pages of virtual mapping in removed memory cannot be freed, since some pages used as PGD/PUD includes not only removed memory but also other memory. So the patch checks whether page can be freed or not. How to chec

Re: [RFC v9 PATCH 06/21] memory-hotplug: export the function acpi_bus_remove()

2012-10-01 Thread Ni zhan Chen
On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang The function acpi_bus_remove() can remove a acpi device from acpi device. IIUC, s/acpi device/acpi bus When a acpi device is removed, we need to call this function to remove the acpi device from acpi bus. So export th

Re: [RFC v9 PATCH 00/21] memory-hotplug: hot-remove physical memory

2012-10-01 Thread Ni zhan Chen
On 10/01/2012 12:44 PM, Yasuaki Ishimatsu wrote: Hi Chen, 2012/09/29 17:19, Ni zhan Chen wrote: On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang This patch series aims to support physical memory hot-remove. The patches can free/remove the following things

Re: [RFC v9 PATCH 00/21] memory-hotplug: hot-remove physical memory

2012-09-29 Thread Ni zhan Chen
On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang This patch series aims to support physical memory hot-remove. The patches can free/remove the following things: - acpi_memory_info : [RFC PATCH 4/19] - /sys/firmware/memmap/X/{end, start, typ

Re: [RFC v9 PATCH 00/21] memory-hotplug: hot-remove physical memory

2012-09-28 Thread Ni zhan Chen
On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang This patch series aims to support physical memory hot-remove. The patches can free/remove the following things: - acpi_memory_info : [RFC PATCH 4/19] - /sys/firmware/memmap/X/{end, start, typ

Re: [PATCH 0/4] bugfix for memory hotplug

2012-09-28 Thread Ni zhan Chen
On 09/27/2012 01:45 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang Wen Congyang (2): memory-hotplug: clear hwpoisoned flag when onlining pages memory-hotplug: auto offline page_cgroup when onlining memory block failed Again, you should explain these two patches are the new vers

Re: [RFC v9 PATCH 13/21] memory-hotplug: check page type in get_page_bootmem

2012-09-28 Thread Ni zhan Chen
On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Yasuaki Ishimatsu The function get_page_bootmem() may be called more than one time to the same page. There is no need to set page's type, private if the function is not the first time called to the page. Note: the patch is just optimiza

Re: [PATCH 3/3] memory_hotplug: Don't modify the zone_start_pfn outside of zone_span_writelock()

2012-09-28 Thread Ni zhan Chen
On 09/28/2012 03:29 PM, Lai Jiangshan wrote: Hi, Chen, On 09/27/2012 09:19 PM, Ni zhan Chen wrote: On 09/27/2012 02:47 PM, Lai Jiangshan wrote: The __add_zone() maybe call sleep-able init_currently_empty_zone() to init wait_table, But this function also modifies the zone_start_pfn without

Re: [PATCH 1/4] memory-hotplug: add memory_block_release

2012-09-27 Thread Ni zhan Chen
On 09/28/2012 11:45 AM, Yasuaki Ishimatsu wrote: Hi Kosaki-san, 2012/09/28 10:35, KOSAKI Motohiro wrote: On Thu, Sep 27, 2012 at 8:24 PM, Yasuaki Ishimatsu wrote: Hi Chen, 2012/09/27 19:20, Ni zhan Chen wrote: Hi Congyang, 2012/9/27 From: Yasuaki Ishimatsu When calling

Re: [PATCH 1/4] memory-hotplug: add memory_block_release

2012-09-27 Thread Ni zhan Chen
On 09/28/2012 11:45 AM, Yasuaki Ishimatsu wrote: Hi Kosaki-san, 2012/09/28 10:35, KOSAKI Motohiro wrote: On Thu, Sep 27, 2012 at 8:24 PM, Yasuaki Ishimatsu wrote: Hi Chen, 2012/09/27 19:20, Ni zhan Chen wrote: Hi Congyang, 2012/9/27 From: Yasuaki Ishimatsu When calling

Re: [RFC v9 PATCH 04/21] memory-hotplug: offline and remove memory when removing the memory device

2012-09-27 Thread Ni zhan Chen
On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Yasuaki Ishimatsu We should offline and remove memory when removing the memory device. The memory device can be removed by 2 ways: 1. send eject request by SCI 2. echo 1 >/sys/bus/pci/devices/PNP0C80:XX/eject In the 1st case, acpi_memor

Re: [RFC v9 PATCH 05/21] memory-hotplug: check whether memory is present or not

2012-09-27 Thread Ni zhan Chen
On 09/11/2012 10:24 AM, Yasuaki Ishimatsu wrote: Hi Wen, 2012/09/11 11:15, Wen Congyang wrote: Hi, ishimatsu At 09/05/2012 05:25 PM, we...@cn.fujitsu.com Wrote: From: Yasuaki Ishimatsu If system supports memory hot-remove, online_pages() may online removed pages. So online_pages() need to

Re: [RFC v9 PATCH 03/21] memory-hotplug: store the node id in acpi_memory_device

2012-09-27 Thread Ni zhan Chen
On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang The memory device has only one node id. Store the node id when enable the memory device, and we can reuse it when removing the memory device. one question: if use numa emulation, memory device will associated to one node o

Re: [RFC v9 PATCH 01/21] memory-hotplug: rename remove_memory() to offline_memory()/offline_pages()

2012-09-27 Thread Ni zhan Chen
On 09/05/2012 05:25 PM, we...@cn.fujitsu.com wrote: From: Yasuaki Ishimatsu remove_memory() only try to offline pages. It is called in two cases: 1. hot remove a memory device 2. echo offline >/sys/devices/system/memory/memoryXX/state In the 1st case, we should also change memory block's state

Re: [PATCH 0/3] memory_hotplug: fix memory hotplug bug

2012-09-27 Thread Ni zhan Chen
On 09/27/2012 02:47 PM, Lai Jiangshan wrote: We found 3 bug while we test and develop memory hotplug. PATCH1~2: the old code does not handle node_states[N_NORMAL_MEMORY] correctly, it corrupts the memory. PATCH3: move the modification of zone_start_pfn into corresponding lock. please fully te

Re: [PATCH 1/3] memory_hotplug: fix stale node_states[N_NORMAL_MEMORY]

2012-09-27 Thread Ni zhan Chen
On 09/27/2012 02:47 PM, Lai Jiangshan wrote: Currently memory_hotplug only manages the node_states[N_HIGH_MEMORY], it forgets to manage node_states[N_NORMAL_MEMORY]. it causes node_states[N_NORMAL_MEMORY] becomes stale. We add check_nodemasks_changes_online() and check_nodemasks_changes_offline(

Re: [PATCH 3/3] memory_hotplug: Don't modify the zone_start_pfn outside of zone_span_writelock()

2012-09-27 Thread Ni zhan Chen
On 09/27/2012 02:47 PM, Lai Jiangshan wrote: The __add_zone() maybe call sleep-able init_currently_empty_zone() to init wait_table, But this function also modifies the zone_start_pfn without any lock. It is bugy. So we move this modification out, and we ensure the modification of zone_start_pfn

Re: [PATCH 4/4] memory-hotplug: auto offline page_cgroup when onlining memory block failed

2012-09-27 Thread Ni zhan Chen
On 09/27/2012 01:45 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang When a memory block is onlined, we will try allocate memory on that node to store page_cgroup. If onlining the memory block failed, we don't offline the page cgroup, and we have no chance to offline this page cgroup unless t

Re: [PATCH 3/4] memory-hotplug: clear hwpoisoned flag when onlining pages

2012-09-27 Thread Ni zhan Chen
On 09/27/2012 01:45 PM, we...@cn.fujitsu.com wrote: From: Wen Congyang hwpoisoned may set when we offline a page by the sysfs interface /sys/devices/system/memory/soft_offline_page or /sys/devices/system/memory/hard_offline_page. If we don't clear this flag when onlining pages, this page can't

Re: [PATCH 2/4] memory-hotplug: add node_device_release

2012-09-27 Thread Ni zhan Chen
On 09/27/2012 01:45 PM, we...@cn.fujitsu.com wrote: From: Yasuaki Ishimatsu When calling unregister_node(), the function shows following message at device_release(). Device 'node2' does not have a release() function, it is broken and must be fixed. So the patch implements node_device_release(