On Mon, Dec 08, 2014 at 10:29:44AM +0100, Vlastimil Babka wrote:
On 12/08/2014 08:16 AM, Joonsoo Kim wrote:
There is odd behaviour when we steal freepages from other migratetype
buddy list. In try_to_steal_freepages(), we move all freepages in
the pageblock that founded freepage is belong to to the request
migratetype in order to mitigate fragmentation. If the number of moved
pages are enough to change pageblock migratetype, there is no problem. If
not enough, we don't change pageblock migratetype and add broken freepages
to the original migratetype buddy list rather than request migratetype
one. For me, this is odd, because we already moved all freepages in this
pageblock to the request migratetype. This patch fixes this situation to
add broken freepages to the request migratetype buddy list in this case.
I'd rather split the fix from the refactoring. And maybe my
description is longer, but easier to understand? (I guess somebody
else should judge this)
Your patch is much better to understand than mine. :)
No need to judge from somebody else.
After your patch is merged, I will resubmit these on top of it.