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

From: Michal Hocko
Date: Thu Jun 15 2017 - 04:16:27 EST


On Thu 15-06-17 11:13:54, Wei Yang wrote:
> 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.

Please start a new thread with unrelated questions

> 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.

Not really. The above output is just confusing a bit. Zone ranges print
arch_zone_{lowest,highest}_possible_pfn range while the Movable zone
is excluded from that in adjust_zone_range_for_zone_movable
--
Michal Hocko
SUSE Labs