All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlastimil Babka <vbabka@suse.cz>
To: Changsheng Liu <liuchangsheng@inspur.com>,
	akpm@linux-foundation.org, isimatu.yasuaki@jp.fujitsu.com,
	yasu.isimatu@gmail.com, tangchen@cn.fujitsu.com
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	wangnan0@huawei.com, dave.hansen@intel.com, yinghai@kernel.org,
	toshi.kani@hp.com, qiuxishi@huawei.com, wunan@inspur.com,
	yanxiaofeng@inspur.com, fandd@inspur.com,
	Changsheng Liu <liuchangcheng@inspur.com>
Subject: Re: [PATCH V7] mm: memory hot-add: memory can not be added to movable zone defaultly
Date: Wed, 21 Oct 2015 11:00:19 +0200	[thread overview]
Message-ID: <56275423.6050506@suse.cz> (raw)
In-Reply-To: <5626F667.9000003@inspur.com>

On 10/21/2015 04:20 AM, Changsheng Liu wrote:
>
>
> a?? 2015/10/15 0:18, Vlastimil Babka a??e??:
>> On 10/12/2015 08:58 AM, Changsheng Liu wrote:
>>> From: Changsheng Liu <liuchangcheng@inspur.com>
>>>
>>> After the user config CONFIG_MOVABLE_NODE,
>>> When the memory is hot added, should_add_memory_movable() return 0
>>> because all zones including ZONE_MOVABLE are empty,
>>> so the memory that was hot added will be assigned to ZONE_NORMAL
>>> and ZONE_NORMAL will be created firstly.
>>> But we want the whole node to be added to ZONE_MOVABLE by default.
>>>
>>> So we change should_add_memory_movable(): if the user config
>>> CONFIG_MOVABLE_NODE and sysctl parameter hotadd_memory_as_movable is 1
>>> and the ZONE_NORMAL is empty or the pfn of the hot-added memory
>>> is after the end of the ZONE_NORMAL it will always return 1
>>> and then the whole node will be added to ZONE_MOVABLE by default.
>>> If we want the node to be assigned to ZONE_NORMAL,
>>> we can do it as follows:
>>> "echo online_kernel > /sys/devices/system/memory/memoryXXX/state"
>>>
>>> By the patch, the behavious of kernel is changed by sysctl,
>>> user can automatically create movable memory
>>> by only the following udev rule:
>>> SUBSYSTEM=="memory", ACTION=="add",
>>> ATTR{state}=="offline", ATTR{state}="online"
>       I'm sorry for replying you so late due to the busy business trip.
>> So just to be clear, we are adding a new sysctl, because the existing
>> movable_node kernel option, which is checked by movable_node_is_enabled(), and
>> does the same thing for non-hot-added-memory (?) cannot be reused for hot-added
>> memory, as that would be a potentially surprising behavior change? Correct? Then
>> this should be mentioned in the changelog too, and wherever "movable_node" is
>> documented should also mention the new sysctl. Personally, I would expect
>> movable_node to affect hot-added memory as well, and would be surprised that it
>> doesn't...
>       I think it can let the user decides when to use this feature.
>       The user can enable the feature when making the hot_added memory
> of a node movable and
>       make the feature disable to assign the hot_added memory of the next
> node to ZONE_NORMAL .

So you mean sysctl is more flexible than boot option. OK, but wasn't 
such flexibility already provided by "echo online_kernel" vs "echo 
online_movable"? It doesn't sound like a strong reason for a new sysctl? 
Not doing surprising behavior change maybe does...

--
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,
	yasu.isimatu@gmail.com, tangchen@cn.fujitsu.com
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	wangnan0@huawei.com, dave.hansen@intel.com, yinghai@kernel.org,
	toshi.kani@hp.com, qiuxishi@huawei.com, wunan@inspur.com,
	yanxiaofeng@inspur.com, fandd@inspur.com,
	Changsheng Liu <liuchangcheng@inspur.com>
Subject: Re: [PATCH V7] mm: memory hot-add: memory can not be added to movable zone defaultly
Date: Wed, 21 Oct 2015 11:00:19 +0200	[thread overview]
Message-ID: <56275423.6050506@suse.cz> (raw)
In-Reply-To: <5626F667.9000003@inspur.com>

On 10/21/2015 04:20 AM, Changsheng Liu wrote:
>
>
> 在 2015/10/15 0:18, Vlastimil Babka 写道:
>> On 10/12/2015 08:58 AM, Changsheng Liu wrote:
>>> From: Changsheng Liu <liuchangcheng@inspur.com>
>>>
>>> After the user config CONFIG_MOVABLE_NODE,
>>> When the memory is hot added, should_add_memory_movable() return 0
>>> because all zones including ZONE_MOVABLE are empty,
>>> so the memory that was hot added will be assigned to ZONE_NORMAL
>>> and ZONE_NORMAL will be created firstly.
>>> But we want the whole node to be added to ZONE_MOVABLE by default.
>>>
>>> So we change should_add_memory_movable(): if the user config
>>> CONFIG_MOVABLE_NODE and sysctl parameter hotadd_memory_as_movable is 1
>>> and the ZONE_NORMAL is empty or the pfn of the hot-added memory
>>> is after the end of the ZONE_NORMAL it will always return 1
>>> and then the whole node will be added to ZONE_MOVABLE by default.
>>> If we want the node to be assigned to ZONE_NORMAL,
>>> we can do it as follows:
>>> "echo online_kernel > /sys/devices/system/memory/memoryXXX/state"
>>>
>>> By the patch, the behavious of kernel is changed by sysctl,
>>> user can automatically create movable memory
>>> by only the following udev rule:
>>> SUBSYSTEM=="memory", ACTION=="add",
>>> ATTR{state}=="offline", ATTR{state}="online"
>       I'm sorry for replying you so late due to the busy business trip.
>> So just to be clear, we are adding a new sysctl, because the existing
>> movable_node kernel option, which is checked by movable_node_is_enabled(), and
>> does the same thing for non-hot-added-memory (?) cannot be reused for hot-added
>> memory, as that would be a potentially surprising behavior change? Correct? Then
>> this should be mentioned in the changelog too, and wherever "movable_node" is
>> documented should also mention the new sysctl. Personally, I would expect
>> movable_node to affect hot-added memory as well, and would be surprised that it
>> doesn't...
>       I think it can let the user decides when to use this feature.
>       The user can enable the feature when making the hot_added memory
> of a node movable and
>       make the feature disable to assign the hot_added memory of the next
> node to ZONE_NORMAL .

So you mean sysctl is more flexible than boot option. OK, but wasn't 
such flexibility already provided by "echo online_kernel" vs "echo 
online_movable"? It doesn't sound like a strong reason for a new sysctl? 
Not doing surprising behavior change maybe does...

  reply	other threads:[~2015-10-21  9:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-12  6:58 [PATCH V7] mm: memory hot-add: memory can not be added to movable zone defaultly Changsheng Liu
2015-10-12  6:58 ` Changsheng Liu
2015-10-14 16:18 ` Vlastimil Babka
2015-10-14 16:18   ` Vlastimil Babka
2015-10-21  2:20   ` Changsheng Liu
2015-10-21  2:20     ` Changsheng Liu
2015-10-21  9:00     ` Vlastimil Babka [this message]
2015-10-21  9:00       ` Vlastimil Babka
2015-10-21  9:18       ` Tang Chen
2015-10-21  9:18         ` Tang Chen
2015-10-21  9:20         ` Tang Chen
2015-10-21  9:20           ` Tang Chen
2015-10-23 18:36         ` Yasuaki Ishimatsu
2015-10-23 18:36           ` 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=56275423.6050506@suse.cz \
    --to=vbabka@suse.cz \
    --cc=akpm@linux-foundation.org \
    --cc=dave.hansen@intel.com \
    --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=qiuxishi@huawei.com \
    --cc=tangchen@cn.fujitsu.com \
    --cc=toshi.kani@hp.com \
    --cc=wangnan0@huawei.com \
    --cc=wunan@inspur.com \
    --cc=yanxiaofeng@inspur.com \
    --cc=yasu.isimatu@gmail.com \
    --cc=yinghai@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.