On 10/23/2013 03:40 PM, Johannes Weiner wrote: > On Thu, Sep 26, 2013 at 04:47:34AM +0530, Srivatsa S. Bhat wrote: >> Today, the MM subsystem uses the buddy 'Page Allocator' to manage memory >> at a 'page' granularity. But this allocator has no notion of the physical >> topology of the underlying memory hardware, and hence it is hard to >> influence memory allocation decisions keeping the platform constraints >> in mind. > > This is no longer true after patches 1-15 introduce regions and have > the allocator try to stay within the lowest possible region (patch > 15). Sorry, the changelog is indeed misleading. What I really meant to say here is that there is no way to keep an entire region homogeneous with respect to allocation types: ie., have only a single type of allocations (like movable). Patches 1-15 don't address that problem. The later ones do. > Which leaves the question what the following patches are for. > The region allocator is meant to help in keeping entire memory regions homogeneous with respect to allocations. This helps in increasing the success rate of targeted region evacuation. For example, if we know that the region has only unmovable allocations, we can completely skip compaction/evac on that region. And this can be determined just by looking at the pageblock migratetype of *one* of the pages of that region; thus its very cheap. Similarly, if we know that the region has only movable allocations, we can try compaction on that when its lightly allocated. And we won't have horrible scenarios where we moved say 15 pages and then found out that there is an unmovable page stuck in that region, making all that previous work go waste. > This patch only adds a data structure and I gave up finding where > among the helpers, statistics, and optimization patches an actual > implementation is. > I hope the patch-wise explanation that I gave in the other mail will help make this understandable. Please do let me know if you need any other clarifications. > Again, please try to make every single a patch a complete logical > change to the code base. Sure, I'll strive for that in the next postings. Regards, Srivatsa S. Bhat -- 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>