On Tue, Dec 03, 2013 at 10:22:00AM +0800, Zhang Yanfei wrote: > From: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> > > If system can create movable node which all memory of the node is allocated > as ZONE_MOVABLE, setup_node_data() cannot allocate memory for the node's > pg_data_t. So, invoke memblock_alloc_nid(...MAX_NUMNODES) again to retry when > the first allocation fails. Otherwise, the system could failed to boot. > (We don't use memblock_alloc_try_nid() to retry because in this function, > if the allocation fails, it will panic the system.) > This implies that it is possible to ahve a configuration with a big ratio difference between Normal:Movable memory. In such configurations there would be a risk that the system will reclaim heavily or go OOM because the kernrel cannot allocate memory due to a relatively small Normal zone. What protects against that? Is the user ever warned if the ratio between Normal:Movable very high? The movable_node boot parameter still turns the feature on and off, there appears to be no way of controlling the ratio of memory other than booting with the minimum amount of memory and manually hot-adding the sections to set the appropriate ratio. -- Mel Gorman SUSE Labs -- 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>