All of lore.kernel.org
 help / color / mirror / Atom feed
From: Changsheng Liu <liuchangsheng@inspur.com>
To: Yasuaki Ishimatsu <yasu.isimatu@gmail.com>
Cc: akpm@linux-foundation.org, isimatu.yasuaki@jp.fujitsu.com,
	vbabka@suse.cz, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	yanxiaofeng@inspur.com, fandd@inspur.com,
	Changsheng Liu <liuchangcheng@inspur.com>
Subject: Re: [PATCH V2] mm:memory hot-add: memory can not been added to movable zone
Date: Wed, 26 Aug 2015 08:38:49 +0800	[thread overview]
Message-ID: <55DD0A99.5080803@inspur.com> (raw)
In-Reply-To: <55dc69b5.46268c0a.faa78.24eb@mx.google.com>

First, thanks very much for your review, I will update codes according 
to your suggestion

On 2015/8/25 21:12, Yasuaki Ishimatsu wrote:
> On Thu, 20 Aug 2015 03:28:05 -0400
> Changsheng Liu <liuchangsheng@inspur.com> wrote:
>
>> From: Changsheng Liu <liuchangcheng@inspur.com>
>>
>> When memory is hot added, should_add_memory_movable() always returns 0
>> because the movable zone is empty, so the memory that was hot added will
>> add to the normal zone even if we want to remove the memory.
>>
>> So we change should_add_memory_movable(): if the user config
>> CONFIG_MOVABLE_NODE it will return 1 when the movable zone is empty.
>>
>> Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
>> Signed-off-by: Changsheng Liu <liuchangcheng@inspur.com>
>> Tested-by: Dongdong Fan <fandd@inspur.com>
>> ---
>>   mm/memory_hotplug.c |    3 +--
>>   1 files changed, 1 insertions(+), 2 deletions(-)
>>
>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
>> index 26fbba7..ff658f2 100644
>> --- a/mm/memory_hotplug.c
>> +++ b/mm/memory_hotplug.c
>> @@ -1199,8 +1199,7 @@ static int should_add_memory_movable(int nid, u64 start, u64 size)
>>   	struct zone *movable_zone = pgdat->node_zones + ZONE_MOVABLE;
>>   
>>   	if (zone_is_empty(movable_zone))
>> -		return 0;
>> -
>> +		return IS_ENABLED(CONFIG_MOVABLE_NODE);
>>   	if (movable_zone->zone_start_pfn <= start_pfn)
>>   		return 1;
> Currently, kernel allows to create ZONE_MOVABLE after ZONE_NORMAL as follows:
>   PFN low                                 high
>         ---|-------------|-------------|---
>              ZONE_NORMAL   ZONE_MOVABLE
>
> But kernel does not allow to create ZONE_MOVABLE before ZONE_NORMAL as follows:
>   PFN low                                 high
>         ---|-------------|-------------|---
>              ZONE_MOVABLE  ZONE_NORMAL
>
> Also, kernel does not allow to create ZONE_MOVABLE in ZOME_NORMAL as follows:
>   PFN low                                              high
>         ---|-------------|-------------|-------------|---
>              ZONE_NORMAL   ZONE_MOVABLE  ZONE_NORMAL
>
> So should_add_memory_movable() checks them.
>
> Accoring to your patch, when movable_zone is empty, the hot added memory is
> always managed to ZONE_MOVABLE. It means that ZONE_MOVALBE will puts before/in
> ZONE_NORMAL.
>
> You must prevent from creating ZONE_MOVABLE before/in ZONE_NORMAL.
>
> Thanks,
> Yasuaki Ishimatsu
>
>>   
>> -- 
>> 1.7.1
>>
>> --
>> 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>
> .
>

--
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: Changsheng Liu <liuchangsheng@inspur.com>
To: Yasuaki Ishimatsu <yasu.isimatu@gmail.com>
Cc: <akpm@linux-foundation.org>, <isimatu.yasuaki@jp.fujitsu.com>,
	<vbabka@suse.cz>, <linux-mm@kvack.org>,
	<linux-kernel@vger.kernel.org>, <yanxiaofeng@inspur.com>,
	<fandd@inspur.com>, Changsheng Liu <liuchangcheng@inspur.com>
Subject: Re: [PATCH V2] mm:memory hot-add: memory can not been added to movable zone
Date: Wed, 26 Aug 2015 08:38:49 +0800	[thread overview]
Message-ID: <55DD0A99.5080803@inspur.com> (raw)
In-Reply-To: <55dc69b5.46268c0a.faa78.24eb@mx.google.com>

First, thanks very much for your review, I will update codes according 
to your suggestion

On 2015/8/25 21:12, Yasuaki Ishimatsu wrote:
> On Thu, 20 Aug 2015 03:28:05 -0400
> Changsheng Liu <liuchangsheng@inspur.com> wrote:
>
>> From: Changsheng Liu <liuchangcheng@inspur.com>
>>
>> When memory is hot added, should_add_memory_movable() always returns 0
>> because the movable zone is empty, so the memory that was hot added will
>> add to the normal zone even if we want to remove the memory.
>>
>> So we change should_add_memory_movable(): if the user config
>> CONFIG_MOVABLE_NODE it will return 1 when the movable zone is empty.
>>
>> Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
>> Signed-off-by: Changsheng Liu <liuchangcheng@inspur.com>
>> Tested-by: Dongdong Fan <fandd@inspur.com>
>> ---
>>   mm/memory_hotplug.c |    3 +--
>>   1 files changed, 1 insertions(+), 2 deletions(-)
>>
>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
>> index 26fbba7..ff658f2 100644
>> --- a/mm/memory_hotplug.c
>> +++ b/mm/memory_hotplug.c
>> @@ -1199,8 +1199,7 @@ static int should_add_memory_movable(int nid, u64 start, u64 size)
>>   	struct zone *movable_zone = pgdat->node_zones + ZONE_MOVABLE;
>>   
>>   	if (zone_is_empty(movable_zone))
>> -		return 0;
>> -
>> +		return IS_ENABLED(CONFIG_MOVABLE_NODE);
>>   	if (movable_zone->zone_start_pfn <= start_pfn)
>>   		return 1;
> Currently, kernel allows to create ZONE_MOVABLE after ZONE_NORMAL as follows:
>   PFN low                                 high
>         ---|-------------|-------------|---
>              ZONE_NORMAL   ZONE_MOVABLE
>
> But kernel does not allow to create ZONE_MOVABLE before ZONE_NORMAL as follows:
>   PFN low                                 high
>         ---|-------------|-------------|---
>              ZONE_MOVABLE  ZONE_NORMAL
>
> Also, kernel does not allow to create ZONE_MOVABLE in ZOME_NORMAL as follows:
>   PFN low                                              high
>         ---|-------------|-------------|-------------|---
>              ZONE_NORMAL   ZONE_MOVABLE  ZONE_NORMAL
>
> So should_add_memory_movable() checks them.
>
> Accoring to your patch, when movable_zone is empty, the hot added memory is
> always managed to ZONE_MOVABLE. It means that ZONE_MOVALBE will puts before/in
> ZONE_NORMAL.
>
> You must prevent from creating ZONE_MOVABLE before/in ZONE_NORMAL.
>
> Thanks,
> Yasuaki Ishimatsu
>
>>   
>> -- 
>> 1.7.1
>>
>> --
>> 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>
> .
>


  reply	other threads:[~2015-08-26  0:39 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-20  7:28 [PATCH V2] mm:memory hot-add: memory can not been added to movable zone Changsheng Liu
2015-08-20  7:28 ` Changsheng Liu
2015-08-20  7:41 ` Vlastimil Babka
2015-08-20  7:41   ` Vlastimil Babka
2015-08-20  7:44   ` Vlastimil Babka
2015-08-20  7:44     ` Vlastimil Babka
2015-08-21  2:00   ` Changsheng Liu
2015-08-21  2:00     ` Changsheng Liu
2015-08-24 14:13     ` Vlastimil Babka
2015-08-24 14:13       ` Vlastimil Babka
2015-08-25 13:12 ` Yasuaki Ishimatsu
2015-08-25 13:12   ` Yasuaki Ishimatsu
2015-08-26  0:38   ` Changsheng Liu [this message]
2015-08-26  0:38     ` Changsheng Liu

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=55DD0A99.5080803@inspur.com \
    --to=liuchangsheng@inspur.com \
    --cc=akpm@linux-foundation.org \
    --cc=fandd@inspur.com \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=liuchangcheng@inspur.com \
    --cc=vbabka@suse.cz \
    --cc=yanxiaofeng@inspur.com \
    --cc=yasu.isimatu@gmail.com \
    /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.