On 02/15/2017 03:29 PM, Vlastimil Babka wrote: > Results for patch 4 ("count movable pages when stealing from pageblock") > are really puzzling me, as it increases the number of fragmenting events > for reclaimable allocations, implicating "reclaimable placed with (i.e. > falling back to) unmovable" (which is not listed separately above, but > follows logically from "reclaimable placed with movable" not changing > that much). I really wonder why is that. The patch effectively only > changes the decision to change migratetype of a pageblock, it doesn't > affect the actual stealing decision (which is always true for > RECLAIMABLE anyway, see can_steal_fallback()). Moreover, since we can't > distinguish UNMOVABLE from RECLAIMABLE when counting, good_pages is 0 > and thus even the decision to change pageblock migratetype shouldn't be > changed by the patch for this case. I must recheck the implementation... Ah, there it is... not enough LISP - if (pages >= (1 << (pageblock_order-1)) || + /* Claim the whole block if over half of it is free or good type */ + if (free_pages + good_pages >= (1 << (pageblock_order-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>