On 08/06/2014 09:18 AM, Joonsoo Kim wrote:
The check '!PageBuddy(page) && page_count(page) == 0 && migratetype == MIGRATE_ISOLATE' would mean the page on free processing.
What is "the page on free processing"? I thought this test means the page is on some CPU's pcplist?
Although it could go into buddy allocator within a short time, futher operation such as isolate_freepages_range() in CMA, called after test_page_isolated_in_pageblock(), could be failed due to this unstability
By "unstability" you mean the page can be allocated again from the pcplist instead of being freed to buddy list?
since it requires that the page is on buddy. I think that removing this unstability is good thing. And, following patch makes isolated freepage has new status matched with this condition and this check is the obstacle to that change. So remove it.
You could also say that pages from isolated pageblocks can no longer appear on pcplists after the later patches.
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> --- mm/page_isolation.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mm/page_isolation.c b/mm/page_isolation.c index d1473b2..3100f98 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -198,11 +198,7 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, MIGRATE_ISOLATE); } pfn += 1 << page_order(page); - } - else if (page_count(page) == 0 && - get_freepage_migratetype(page) == MIGRATE_ISOLATE) - pfn += 1; - else if (skip_hwpoisoned_pages && PageHWPoison(page)) { + } else if (skip_hwpoisoned_pages && PageHWPoison(page)) { /* * The HWPoisoned page may be not in buddy * system, and page_count() is not 0.
-- 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>