From: Vlastimil Babka <vbabka@suse.cz>
To: Changsheng Liu <liuchangsheng@inspur.com>,
akpm@linux-foundation.org, isimatu.yasuaki@jp.fujitsu.com
Cc: 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: Thu, 20 Aug 2015 09:41:59 +0200 [thread overview]
Message-ID: <55D584C7.7060101@suse.cz> (raw)
In-Reply-To: <1440055685-6083-1-git-send-email-liuchangsheng@inspur.com>
On 08/20/2015 09:28 AM, Changsheng Liu 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.
I'm not expert on memory hot-plug, but since you CC'd me, I wonder...
the function has this comment: " * If movable zone has already been
setup, newly added memory should be check."
So I read it like "if you want movable memory *at all*, you should do
some setup first" (but don't ask me what setup). After your patch, every
hot-added memory would be automatically movable? Isn't that silently
changing behavior against user expectations? What about those that don't
want to hot-remove and don't want movable zones (which limit what kind
of allocations are possible), is there a way to prevent memory being
movable after your patch?
> 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;
>
>
--
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: Vlastimil Babka <vbabka@suse.cz>
To: Changsheng Liu <liuchangsheng@inspur.com>,
akpm@linux-foundation.org, isimatu.yasuaki@jp.fujitsu.com
Cc: 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: Thu, 20 Aug 2015 09:41:59 +0200 [thread overview]
Message-ID: <55D584C7.7060101@suse.cz> (raw)
In-Reply-To: <1440055685-6083-1-git-send-email-liuchangsheng@inspur.com>
On 08/20/2015 09:28 AM, Changsheng Liu 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.
I'm not expert on memory hot-plug, but since you CC'd me, I wonder...
the function has this comment: " * If movable zone has already been
setup, newly added memory should be check."
So I read it like "if you want movable memory *at all*, you should do
some setup first" (but don't ask me what setup). After your patch, every
hot-added memory would be automatically movable? Isn't that silently
changing behavior against user expectations? What about those that don't
want to hot-remove and don't want movable zones (which limit what kind
of allocations are possible), is there a way to prevent memory being
movable after your patch?
> 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;
>
>
next prev parent reply other threads:[~2015-08-20 7:42 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 [this message]
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
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=55D584C7.7060101@suse.cz \
--to=vbabka@suse.cz \
--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=liuchangsheng@inspur.com \
--cc=yanxiaofeng@inspur.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.