Re: [PATCH] mm, memory_hotplug: support movable_node for hotplugable nodes

From: Wei Yang
Date: Wed Jun 14 2017 - 23:14:03 EST


On Mon, Jun 12, 2017 at 08:45:02AM +0200, Michal Hocko wrote:
>On Mon 12-06-17 12:28:32, Wei Yang wrote:
>> On Thu, Jun 08, 2017 at 02:23:18PM +0200, Michal Hocko wrote:
>> >From: Michal Hocko <mhocko@xxxxxxxx>
>> >
>> >movable_node kernel parameter allows to make hotplugable NUMA
>> >nodes to put all the hotplugable memory into movable zone which
>> >allows more or less reliable memory hotremove. At least this
>> >is the case for the NUMA nodes present during the boot (see
>> >find_zone_movable_pfns_for_nodes).
>> >
>>
>> When movable_node is enabled, we would have overlapped zones, right?
>
>It won't based on this patch. See movable_pfn_range
>

Ok, I went through the code and here maybe a question not that close related
to this patch.

I did some experiment with qemu+kvm and see this.

Guest config: 8G RAM, 2 nodes with 4G on each
Guest kernel: 4.11
Guest kernel command: kernelcore=1G

The log message in kernel is:

[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff]
[ 0.000000] DMA32 [mem 0x0000000001000000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x000000023fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Node 0: 0x0000000100000000
[ 0.000000] Node 1: 0x0000000140000000

We see on node 2, ZONE_NORMAL overlap with ZONE_MOVABLE.
[0x0000000140000000 - 0x000000023fffffff] belongs to both ZONE.

My confusion is:

After we enable ZONE_MOVABLE, no matter whether it is enabled by
"movable_node" or "kernelcore", we would face this kind of overlap?
Finally, the pages in the overlapped range be belongs to which ZONE?

--
Wei Yang
Help you, Help me

Attachment: signature.asc
Description: PGP signature