On Wed, May 24, 2017 at 02:24:10PM +0200, Michal Hocko wrote:
74d42d8fe146 ("memory_hotplug: ensure every online node has NORMAL memory") has added can_offline_normal which checks the amount of memory in !movable zones as long as CONFIG_MOVABLE_NODE is disable. It disallows to offline memory if there is nothing left with a justification that "memory-management acts bad when we have nodes which is online but don't have any normal memory". 74d42d8fe146 ("memory_hotplug: ensure every online node has NORMAL memory") has introduced a restriction that every numa node has to have at least some memory in !movable zones before a first movable memory can be onlined if !CONFIG_MOVABLE_NODE with the same justification While it is true that not having _any_ memory for kernel allocations on a NUMA node is far from great and such a node would be quite subotimal because all kernel allocations will have to fallback to another NUMA node but there is no reason to disallow such a configuration in principle. Besides that there is not really a big difference to have one memblock for ZONE_NORMAL available or none. With 128MB size memblocks the system might trash on the kernel allocations requests anyway. It is really hard to draw a line on how much normal memory is really sufficient so we have to rely on administrator to configure system sanely therefore drop the artificial restriction and remove can_offline_normal and can_online_high_movable altogether.
I'm really liking all this cleanup of the memory hotplug code. Thanks! Much appreciated.
Acked-by: Reza Arbab <arbab@xxxxxxxxxxxxxxxxxx> -- Reza Arbab -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>