On Mon, Aug 05, 2013 at 01:34:23PM +0200, Andrea Arcangeli wrote: >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. > Ah, lowmem reservation reserve all ZONE_DMA: x86_64 4GB protection: (0, 3251, 4009, 4009) Thanks for pointing out. ;-) >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>