On Mon, Aug 05, 2013 at 06:34:56PM +0800, Wanpeng Li wrote: > Why round robin allocator don't consume ZONE_DMA? I guess lowmem reserve reserves it all, 4GB/256(ratio)=16MB. The only way to relax it would be 1) to account depending on memblock types and allow only the movable ones to bypass the lowmem reserve and prevent a change from movable type if lowmem reserve doesn't pass, 2) use memory migration to move the movable pages from the lower zones to the highest zone if reclaim fails if __GFP_DMA32 or __GFP_DMA is set, or highmem is missing on 32bit kernels. The last point involving memory migration would work similarly to compaction but it isn't black and white, and it would cost CPU as well. The memory used by the simple lowmem reserve mechanism is probably not significant enough to warrant such an effort. -- 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>