2015-02-02 21:56 GMT+09:00 Zhang Yanfei <zhangyanfei...@hotmail.com>: > Hello Joonsoo, > > At 2015/2/2 15:15, Joonsoo Kim wrote: >> This is preparation step to use page allocator's anti fragmentation logic >> in compaction. This patch just separates fallback freepage checking part >> from fallback freepage management part. Therefore, there is no functional >> change. >> >> Signed-off-by: Joonsoo Kim <iamjoonsoo....@lge.com> >> --- >> mm/page_alloc.c | 128 >> +++++++++++++++++++++++++++++++++----------------------- >> 1 file changed, 76 insertions(+), 52 deletions(-) >> >> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >> index e64b260..6cb18f8 100644 >> --- a/mm/page_alloc.c >> +++ b/mm/page_alloc.c >> @@ -1142,14 +1142,26 @@ static void change_pageblock_range(struct page >> *pageblock_page, >> * as fragmentation caused by those allocations polluting movable pageblocks >> * is worse than movable allocations stealing from unmovable and reclaimable >> * pageblocks. >> - * >> - * If we claim more than half of the pageblock, change pageblock's >> migratetype >> - * as well. >> */ >> -static void try_to_steal_freepages(struct zone *zone, struct page *page, >> - int start_type, int fallback_type) >> +static bool can_steal_fallback(unsigned int order, int start_mt) >> +{ >> + if (order >= pageblock_order) >> + return true; > > Is this test necessary? Since an order which is >= pageblock_order > will always pass the order >= pageblock_order / 2 test below. >
Yes, that's true. But, I'd like to remain code as is, because condition "order >= pageblock_order / 2" is really heuristic and could be changed someday. Instead of removing it, I will add some comment on it. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/