On 15.2.2017 17:11, Vlastimil Babka wrote: > 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)) || Nope, I was blind and thought that this needs "(free_pages + good_pages)" because of operator priority wrt shifting, but >= is not shift... bah. -- 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>