Re: [PATCH v2] mem-hotplug: alloc new page from the next node if zone is MOVABLE_ZONE

From: Xishi Qiu
Date: Sun Jul 24 2016 - 21:56:39 EST


On 2016/7/23 4:11, Andrew Morton wrote:

> On Fri, 22 Jul 2016 10:57:48 +0800 Xishi Qiu <qiuxishi@xxxxxxxxxx> wrote:
>
>> Memory offline could happen on both movable zone and non-movable zone.
>> We can offline the whole node if the zone is movable zone, and if the
>> zone is non-movable zone, we cannot offline the whole node, because
>> some kernel memory can't be migrated.
>>
>> So if we offline a node with movable zone, use prefer mempolicy to alloc
>> new page from the next node instead of the current node or other remote
>> nodes, because re-migrate is a waste of time and the distance of the
>> remote nodes is often very large.
>>
>> Also use GFP_HIGHUSER_MOVABLE to alloc new page if the zone is movable
>> zone.
>
> This conflicts pretty significantly with your "mem-hotplug: use
> different mempolicy in alloc_migrate_target()". Does it replace
> "mem-hotplug: use different mempolicy in alloc_migrate_target()" and
> your "mem-hotplug: use GFP_HIGHUSER_MOVABLE in,
> alloc_migrate_target()", or what?
>

Hi Andrew,

Yes, this patch is v2, "mem-hotplug: use different mempolicy in alloc_migrate_target()"
and "mem-hotplug: use GFP_HIGHUSER_MOVABLE in alloc_migrate_target()" are v1,
so just replace them.

Joonsoo and Vlastimil point that migratable pages are not always from user space,
so it is not correct to use GFP_HIGHUSER_MOVABLE in alloc_migrate_target().

David points that CMA and memory offline are distinct usecases and probably
deserve their own callbacks.

Thanks,
Xishi Qiu

>
> .
>