On Mon, Feb 02, 2015 at 04:15:46PM +0900, Joonsoo Kim wrote: > freepage with MIGRATE_CMA can be used only for MIGRATE_MOVABLE and > they should not be expanded to other migratetype buddy list > to protect them from unmovable/reclaimable allocation. Implementing > these requirements in __rmqueue_fallback(), that is, finding largest > possible block of freepage has bad effect that high order freepage > with MIGRATE_CMA are broken continually although there are suitable > order CMA freepage. Reason is that they are not be expanded to other > migratetype buddy list and next __rmqueue_fallback() invocation try to > finds another largest block of freepage and break it again. So, > MIGRATE_CMA fallback should be handled separately. This patch > introduces __rmqueue_cma_fallback(), that just wrapper of > __rmqueue_smallest() and call it before __rmqueue_fallback() > if migratetype == MIGRATE_MOVABLE. > > This results in unintended behaviour change that MIGRATE_CMA freepage > is always used first rather than other migratetype as movable > allocation's fallback. But, as already mentioned above, > MIGRATE_CMA can be used only for MIGRATE_MOVABLE, so it is better > to use MIGRATE_CMA freepage first as much as possible. Otherwise, > we needlessly take up precious freepages with other migratetype and > increase chance of fragmentation. > > Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> > --- Hello, Vlastimil. This RFC is targeted to you, but, I mistakenly omit your e-mail on CC list. Sorry about that. :/ How about this v3 which try to clean-up __rmqueue_fallback() much more? Thanks. -- 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>