While it is currently possible to rezone memory when it is onlined, there are implicit assumptions about the zones: * To "online_kernel" a block into ZONE_NORMAL, it must currently be in ZONE_MOVABLE. * To "online_movable" a block into ZONE_MOVABLE, it must currently be in (ZONE_MOVABLE - 1). So on powerpc, where new memory is hotplugged into ZONE_DMA, these operations do not work. This patchset replaces the qualifications above with a more general validation of zone movement. Reza Arbab (3): memory-hotplug: add move_pfn_range() memory-hotplug: more general validation of zone during online memory-hotplug: use zone_can_shift() for sysfs valid_zones attribute drivers/base/memory.c | 28 ++++++++++------- include/linux/memory_hotplug.h | 2 ++ mm/memory_hotplug.c | 70 ++++++++++++++++++++++++++++++++++-------- 3 files changed, 77 insertions(+), 23 deletions(-) -- 1.8.3.1 -- 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>